VS2012的错误警告问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VS2012的错误警告问题相关的知识,希望对你有一定的参考价值。
int num;
cin >> num;
int a[num];
提示为:表达式必须含有常量值;
但是我用DEV写是可以通过的,请问这是怎么回事。
VC的编译器不是GCC,它不允许你这样做。
方法1:使用动态内存分配,new和delete操作符
int num;
cin >> num;
int* a = new int[num];
哇啦哇啦
delete[] a;
方法2:使用vector容器
int num;
cin >> num;
vector<int> a(num);
注意:在为数组分配内存失败的时候,以上两种方法均会抛出异常bad_alloc
补充:关于你下面的追问,是这样的,一个变量并不是说不知道值的时候才是变量,它是变量那就一直是变量,不会因为你给它值它就变成常量了。常量的话要求在程序运行之前就能确定值,而且是直接确定不是间接确定(比如你上面那个,就算改成
int num;
num = 5;
int a[num];
也是不行的,num还是变量) 参考技术A 能通过吗????
数组定义时必须使用常量表示数组长度,不能使用变量。追问
输入后不就不是变量了?
追答能输入必然是变量啊,不能修改的才是常量,变量是可以修改的。
参考技术B vc 对C++标准支持是很不好dev 是g++ 对c++标准支持好追问
VC?VS呢
追答vs 包好 vc ..vb ...c#
以上是关于VS2012的错误警告问题的主要内容,如果未能解决你的问题,请参考以下文章
vs2012警告未能加载包“visual c++ package”