1
參見以下代碼:C++標準是否支持非常量數據成員作爲數組邊界?
class X {
int a;
public:
void foo() {
char arr[a]; // a is not a constant variable, but g++ doesn't report error, why?
}
};
我一直認爲只有常量表達式可以以數組邊界被使用,直到今天我遇到上面的奇怪的代碼。 g ++和clang ++都可以成功編譯它。但是我無法在C++標準中找到任何支持它的描述。它是編譯器的擴展內容嗎?我在哪裏可以找到關於它的一些描述?
[在C++書籍中,數組綁定必須是常量表達式,但爲什麼下面的代碼有效?](http://stackoverflow.com/questions/5947661/in-c-books-array-bound-must -BE-常數表達式 - 丁爲什麼最以下-COD) – 2013-04-05 11:12:41