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

Why can I define this variable length array in C++?

本文关键字:数组 我可以 C++ 定义 为什么      更新时间:2023-10-16

给定

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

还有主菜。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?

执行程序运行得很好。

这是一个GCC扩展,与使用GCC编译然后手动链接C++标准库的方法无关。

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

相关文章: