nik*_*nik 3 c c++ arrays gcc constants
根据我的记忆,下面的代码应该在C++上编译好但不在C中编译.唯一的问题是如何测试它?它用g ++和gcc编译得很好.我假设g ++是C++编译器,gcc是C编译器.我在Windows下尝试了mingw.我对么?如果没有那么如何使用C编译器编译它.
int main() {
 const int i = 1;
 const int j = 2;
 const int k = 3;
 int array[i + j + k];
 return 0;
}
Mat*_*hen 11
不,这将在C99中编译,它支持可变长度数组.要获得严格的C89行为,请尝试编译:
gcc -std=c89 -pedantic-errors
这给了:
error: ISO C90 forbids variable length array ‘array’
c89表示使用C89,pedantic-errors表示非C89代码错误.