"error: 'value' redeclared as different kind of symbol" 即使它从未被重新声明



做一个井字游戏的作业,这个早期我遇到了一个障碍。

编译器一直对我大喊大叫,我的数组已被重新声明为一种不同类型的符号,即使它被声明为只不过是一个数组。

正如我所了解的那样,我希望这是一个明显的解决方案。

    char board[4][4];
    printf("Would you like to play a game of tic-tac-toe? (Y or N)n");
    scanf("%c", &start);
    while(start!=N && start!=n){
        void clearField(char board[4][4]);
        void printField(char board[4][4]);
    }
}
void clearField(char board[4][4]){
    char board[4][4]={{ ,0,1,2},{0,_,_,_},{1,_,_,_},{2,_,_,_}};
}

错误位于倒数第二行。"董事会被重新宣布为不同类型的符号"。什么给?

clearField() 中,您确实用与参数相同的名称重新声明数组,这毫无意义。

如果你打算分配给参数,这是有意义的,你不能重复它的类型。

此外,您不能分配给这样的数组,我认为大多数普通代码将使用嵌套循环或memset()调用。

其他奇怪之处包括您比较start的未引用的Nn,以及if内重复的无意义的函数声明。

似乎你真的需要阅读基本的 C 语法和结构,当你实际需要做某事(比如调用函数(的语句时,你似乎想重复声明。

最新更新