首页 > 解决方案 > “错误:'值'重新声明为不同类型的符号”即使它从未被重新声明

问题描述

做一个做井字游戏的任务,这么早我就遇到了障碍。

编译器不断向我抱怨我的数组已被重新声明为另一种符号,即使它被声明为只是一个数组。

在我学习的过程中,我希望这是一个明显的解决方法。

    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,_,_,_}};
}

错误在倒数第二行。“板重新声明为不同类型的符号”。是什么赋予了?

标签: c

解决方案


在内部clearField(),您确实在重新声明与参数同名的数组,这没有任何意义。

如果您打算分配给参数,这是有道理的,您不能重复它的类型。

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

其他奇怪的地方包括你比较的未引用的Nn你比较start的,以及在if.

看来您确实需要阅读基本的 C 语法和结构,当您确实需要执行某些操作的语句(例如调用函数)时,您似乎想要重复声明。


推荐阅读