kyp*_*ype 1 c arrays array-initialization
我正在使用Visual c ++编写c语言.
编译器给出了以下代码的错误:
#define SIZE 3;
int myMatrix[SIZE][SIZE];
void funcMatrix(int M[SIZE][SIZE]);
Run Code Online (Sandbox Code Playgroud)
我得到的错误:
error C2143: syntax error : missing ']' before ';'
error C2059: syntax error : ']'
Run Code Online (Sandbox Code Playgroud)
我试过在主要和外部内部以不同方式声明常量.它仍然无法正常工作.如果有人可以帮助我,真的很感激...
Pet*_*lin 10
你应该用#define SIZE 3.
预处理器用作原始字符串替换,因此#define SIZE 3;将SIZE替换为3;您,并获得:
int myMatrix[3;][3;];
void funcMatrix(int M[3;][3;]);
Run Code Online (Sandbox Code Playgroud)
作为最终结果,因此错误.这是一个常见错误,然后您习惯于放置;在C表达式的末尾.然而,预处理器 #define -s实际上不是C代码,而是在编译之前发生的简单(或不那么简单)字符串处理操作.