gpt4 book ai didi

c++ - g++ 可变大小数组没有警告?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:23:51 27 4
gpt4 key购买 nike

int a;
cin >> a;
int ints[a];

为什么这在编译时不抛出任何类型的警告?我怎么知道这个数组什么时候实际使用堆或堆栈?

g++ -std=c++11 -Wall *.cpp -o main

最佳答案

ISO C++ 不允许使用可变长度数组g++很高兴地告诉你,如果你通过传递 -pedantic 来增加它的严格性旗帜。

使用 -pedantic将对违反标准的事情发出警告。如果你想要g++发出错误并因此拒绝编译;使用 -pedantic-errors .


g++ -Wall -pedantic -std=c++11 apa.cpp

apa.cpp: In function ‘int main(int, char**)’:
apa.cpp:8:13: warning: ISO C++ forbids variable length array ‘ints’ [-Wvla]
int ints[a];
^
apa.cpp:8:7: warning: unused variable ‘ints’ [-Wunused-variable]
int ints[a];
^

关于c++ - g++ 可变大小数组没有警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17899274/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com