例如,我有以下代码:
#define MAX_CLIENTS 100;
void main() {
char* pick[MAX_CLIENTS];
int* points[MAX_CLIENTS];
return 0;
}
尝试编译它会引发以下错误:
file.c:4: error: expected ‘]’ before ‘;’ token
file.c:5: error: expected ‘]’ before ‘;’ token
如果我将下标中的 MAX_CLIENTS 替换为文字 100
,那么错误就消失了。
为什么?
最佳答案
#define MAX_CLIENTS 100;
中的 ;
是多余的,删除它就可以了。
请记住,#define
是一个预处理器命令,它将 MAX_CLIENTS
替换为 100;
- 您不需要在那里使用分号,只有 100 个。
关于c - 为什么在下标中使用 CONSTANT 时会出现错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14054624/