鉴于
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?
执行程序效果很好。
答案 0 :(得分:0)
这是GCC扩展,与您使用gcc编译然后手动链接C ++标准库的方法没有任何关系。
--pedantic
编译标志通常会禁用此类扩展。