我不确定为什么我不允许这样做。有人可以解释如何解决编译错误。我是C的新手,来自Java。
错误:在';'之前预期':'或'...'令牌
#define NORTH 1;
int main (void){
switch (functionCallThatReturnsAnInt()){
case NORTH : //compile time error here
printf("NORTH");
break;
case 2 : // no compile time error
printf("2");
break;
//removed rest to reduce clutter
}
}
int functionCallThatReturnsAnInt(void){
return NORTH;
}
答案 0 :(得分:1)
对于未来的观众:
如上所述@PSkocik和@BLUEPIXY在使用define时不用分号。
而不是
#define NORTH;
使用
#define NORTH