我正在编写一个Tic Tac Toe游戏,使用2维的char数组来保持游戏状态,但编译器给了我这个错误:
无法将参数1从'char'转换为'char [] [3]'1>从整数类型到指针类型的转换需要reinterpret_cast,C风格的转换或函数式转换。
代码:
int main() {
srand(int(time(0)));
char Board[max_rows][max_cols];
zerofill(Board[max_rows][max_cols]);
int num=1,num2=1;
for (int i=0;i<9;i++) {
if (i%2==0) {
MyTurn(Board[max_rows][max_cols],num,num2);
MyTurn(Board[max_rows][max_cols],num,num2);
num++,num2++;
}
else
TheirTurn (Board[max_rows][max_cols],num, num2);
num++,num2++;
}
return 0;
}
我做错了什么?
答案 0 :(得分:0)
此程序中存在许多问题,但我怀疑您遇到的特定编译器错误是由于对“zerofill”的调用引起的。你没有提供'zerofill'函数的声明,但它显然是为了接受char [] [3],你的电路板类型。你传递给它的是一个单一的角色。 'Board'是指向char的指针。 Board [x]是char的指针。 Board [x] [y]是一个字符。