c - 警告 : passing argument 2 of 'transform_labels' from incompatible pointer type [-Wincompatible-pointer-types]|

标签 c arrays pointers multidimensional-array

我的编译器给了我这个警告:从不兼容的指针类型 [-Win兼容指针类型] 传递“transform_labels”的参数 2,并附注:预期为“int (*)[10]”,但参数的类型为“int” **'

我的代码:

void transform_labels(int array[60000], int labels[60000][10], int NPAT){

    for(int i = 0; i < NPAT; i++){

        int aux = array[i];
        labels[i][aux] = 1;
        printf("%d\n ",*labels[i]);
        if ((i+1) % 10 == 0) putchar('>');

    }

}

int main() {

   load_mnist();
   int loop;
   int** labels;
   allocate_mem(&labels, 60000, 10);
   printf("HERE");
   transform_labels(train_label, labels, 60000);
   return 0;

}

最佳答案

指向指针的指针无法转换为指向数组的指针。而数组可以转换为指针,仅适用于多维数组的最外层维度。

您需要更改函数的声明:

void transform_labels(int *array, int **labels, int NPAT){

关于c - 警告 : passing argument 2 of 'transform_labels' from incompatible pointer type [-Wincompatible-pointer-types]|,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59306784/

相关文章:

c - 如何解释 strace 输出?

javascript - 数组文本序列有间隙

指针可以指向自身吗?

c++ - 将 std::string 转换为 char * 时,SIGSEGV 仅在我的应用程序的某些部分崩溃

c - gcc -W -Wall -O -pedantic -std=c99 与具有相同选项的 clang

我可以使用箭头运算符 (->) 访问我的并集吗?

javascript - 如何像 console.log 一样在 winston 中记录 JavaScript 对象和数组?

php - 使用 mysql 结果从多维 PHP 数组构建树

json - 使用json解码转换接口(interface)

c - C中栈变量的自动释放