我是编程新手,我一直在尝试创建一个可以解决任何数独谜题的程序。但是,我遇到了很多错误,在这个问题上,我无法弄清楚是什么错误。
这是错误的代码:
for (short o = indice;o>=divergencias[n_diver];o--){
N=historico[o];
P=tabela[N]; //Line 205
tabela[N]=0; //Line 206
}
indice -= divergencias[n_diver];
n_diver --;
}
错误发生在标有评论的行上:
C:\(...)\main.cpp|205|error: invalid conversion from 'short unsigned int*' to 'short unsigned int'|
和
C:\(...)\main.cpp|206|error: incompatible types in assignment of 'int' to 'short unsigned int [9]'|
我一直在寻找这个错误,并没有找到任何令人满意的答案。此外,我学习了解编程知识的网站指出,编写类似b = billy [a+2];
的内容是有效的。所以我无法理解这有什么问题...
答案 0 :(得分:1)
看起来tabela
被声明为short unsigned tabela[9][9]
。为了从中获取unsigned short
类型的项目,您必须提供两个索引,而不是一个。
另一方面,如果您希望从tabela
获取整个子数组,则分配的左侧需要与unsigned short
的1-D数组兼容,例如,unsigned short*
指针。