n3639提議通過c99的variable-length-array S的成C++ 14C++ 14中的可變長度數組?
但latest I've been able to find列表n3639如(至少對於所述第一尺寸。):在C的第一CD
特點++ 14,隨後刪除到一個技術規範
這是否曾經使它成爲一個技術規範,或者它是否失去了手?
原因我的問題是,我發現這段代碼:(使用「-pedantic」標誌時)
void f(size_t n) {
int a[n];
for (size_t i = 0; i < n; ++i)
a[i] = 2 * i;
sort(a, a + n);
}
這種失敗在Visual Studio 2015年在海灣合作委員會建立
Works fine下gcc5.1,但仍
fails to build的Visual Studio 2015下
這只是gcc的錯誤在C++ 14支持C99的變長數組或沒有這在某種程度上使之成爲C++ 14和Visual Studio 2015年失敗d來撿起來?
編輯:它看起來像GCC有去除gcc6.2支持:
http://coliru.stacked-crooked.com/a/303ae1970fa3f5d2
自C++ 03或更早版本以來,它一直是GCC擴展。 –
GCC支持這個擴展。打開警告標誌。或者更好的是,不要在C++中使用VLA。 – DeiDei
[已從標準中刪除](https://gcc.gnu.org/projects/cxx-status.html) –