たとえば、次のコードがあります。
#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
、エラーはなくなります。
なんで?