我正在用 C 语言编写,使用的是 Visual C++。
编译器给我以下代码的错误:
#define SIZE 3;
int myMatrix[SIZE][SIZE];
void funcMatrix(int M[SIZE][SIZE]);
我得到的错误:
error C2143: syntax error : missing ']' before ';'
error C2059: syntax error : ']'
我试过在 main 内部和外部以不同方式声明常量。它仍然不起作用。 如果有人能帮助我,我将不胜感激......
最佳答案
你应该使用#define SIZE 3
。
预处理器用作原始字符串替换,因此使用 #define SIZE 3;
你的 SIZE
被替换为 3;
并且你得到:
int myMatrix[3;][3;];
void funcMatrix(int M[3;][3;]);
作为最终结果,因此出现错误。这是一个常见的错误,然后你习惯将 ;
放在 C 表达式的末尾。然而 preprocessor #define
-s实际上不是C代码,而是编译前发生的一个简单(或不那么简单)的字符串处理操作。
关于c - 语法错误 : missing ']' before ';' Array declaration error in C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14743263/