我想知道为什么当我尝试使用#define
我从编译器中得到错误来声明数组时,而使用文字而不是大小允许我这样做。
some_name.h:
#define size 10;
int* waitingBench[size];
我想知道为什么当我尝试使用#define
我从编译器中得到错误来声明数组时,而使用文字而不是大小允许我这样做。
#define size 10;
int* waitingBench[size];
您所拥有的将被预处理为:
int* waitingBench[10;];
// ^ notice this guy!
从 中删除分号#define
。
(并且size
是一个非常糟糕的标识符#define
。)
;
从您的定义中删除。正如您目前拥有的那样,这与int* waitingBench[10;];
您知道是不正确的相同。
宏定义不是 C 指令,因此它们不需要以分号结尾(并且它们不能超过一行,除非使用了续行反斜杠,并且它们不能与其他东西共享该行)。
消除 ”;” 到底:
#define size 10