Fra*_*nde 2 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;
}
Run Code Online (Sandbox Code Playgroud)
指向指针的指针无法转换为指向数组的指针。而数组可以转换为指针,仅适用于多维数组的最外层维度。
您需要更改函数的声明:
void transform_labels(int *array, int **labels, int NPAT){
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2603 次 |
| 最近记录: |