gpt4 book ai didi

c - 无效使用具有未指定边界的数组

转载 作者:太空宇宙 更新时间:2023-11-04 05:08:24 24 4
gpt4 key购买 nike

我的程序中有一个问题。当我将 3D int 数组 CodedGreen 传递给函数 Green_Decode_Tree 时。显示错误消息“无效使用具有未指定边界的数组”。我的程序有什么错误?感谢您的帮助。

for(i=0;i<256;i++){
for(j=0;j<256;j++){
Decode_Tree(green[0], CodedGreen,0,i,j);
}
}

void Green_Decode_Tree(node* tree, int code[][][], int num,int row,int col)
{
int i;
i=num;

if((tree->left == NULL) && (tree->right == NULL)){
fprintf(DecodGreen,"%s\n", tree->ch);
}
else
{
if(code[row][col][num]==1){
i++;
Green_Decode_Tree(tree->left,code,i,row,col);
}
else if (code[row][col][num]==0){
i++;
Green_Decode_Tree(tree->right,code,i,row,col);
}

}

}

最佳答案

我会告诉你一个 secret 。 2d(和 3d)阵列表示为线性存储器阵列。当你有数组 NxM 并像 a[i][j] 一样访问它时,它实际上被翻译成 a[i*M + j] 你可能会注意到编译器必须知道M这里要做这个转换,不然就翻译不出来了。这就是他的要求。您必须在数组中提供除第一个尺寸以外的所有尺寸:int code[][M][N]

关于c - 无效使用具有未指定边界的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2469650/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com