为什么我可以在C ++中定义这个可变长度数组?

时间:2014-09-16 12:40:37

标签: c++ gcc

鉴于

gcc -c main.C
gcc -lstdc++ -o main main.o

而main.C正在

#include <iostream>

int main() { 
    int somany; 
    std::cin >> somany; 
    double ex[somany]; 

    for(int i=0;i<somany;i++){ 
            ex[i]=0.03; 
            std::cout << ex[i]; 
    } 
}

为什么这不会导致编译错误?我以为C ++没有VLA?

执行程序效果很好。

1 个答案:

答案 0 :(得分:0)

这是GCC扩展,与您使用gcc编译然后手动链接C ++标准库的方法没有任何关系。

--pedantic编译标志通常会禁用此类扩展。