“int size=10;”会产生一个常量表达式吗?以下代码在GCC 4.8和Clang 3.2下编译:int main(){
int size = 10;
int arr[size];}8.3.4/1的C+标准指出,数组的大小必须是一个积分常量表达式,其中size似乎不是。这是两个编译器中的一个bug,还是我遗漏了什么?最新的VC+CTP拒绝使用以下有趣信息的代码:error C2466: cannot allocate an array of constant size 0有趣的是它似乎认为size是零。但至少它拒绝了代码。GCC和Clang不应该这样做吗?
1 回答
- 1 回答
- 0 关注
- 530 浏览
添加回答
举报
0/150
提交
取消