将一维数组赋值给二维数组导致不兼容的类型?

3
int solutions[92][81];

void add_solution(int board[81]) {
  solutions[found_sltns++] = board;
}

附上代码示例,我得到以下错误:

error:无法将类型“int”分配给类型“int [81]”

编译时出现的问题。有什么线索吗?

你是如何调用这个函数的? - Shamim Hafiz - MSFT
1个回答

3
您不能以这种方式复制数组。您必须逐个元素地进行复制。
int i;
for(i=0;i<81;i++)
 solutions[found_sltns][i] = board[i];
found_sltns++;

你可能是指board[i] :-) - Agnius Vasiliauskas
@0x69:我认为根据上下文,它应该是solutions[found_sltns][i]。 - Shamim Hafiz - MSFT
0x69 的意思是 solutions[found_sltns][i] = board[i]; - fancyPants

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接