“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 回答
- 0 關注
- 552 瀏覽
添加回答
舉報
0/150
提交
取消