嘿嘿 本菜第一次在CSDN写博客!鼓励一下!哇!
#include <iostream>
using namespace std;
int main()
{
//测试动态数组是否可行
int num;
cin>>num;
int array[num];
return 0;
}
发现出错了,编译结果如下
E:\所有VC工程\TmpTest\Test01\test01\main.cpp(8) : error C2057: expected constant expression
E:\所有VC工程\TmpTest\Test01\test01\main.cpp(8) : error C2466: cannot allocate an array of constant size 0
E:\所有VC工程\TmpTest\Test01\test01\main.cpp(8) : error C2133: 'array' : unknown size
执行 cl.exe 时出错.
但是改成下面的则编译通过
#include <iostream>
using namespace std;
int main()
{
//测试动态数组是否可行
int num;
cin>>num;
//int array[num];
int* array=new int[num];
return 0;
}
所以以后用new 的方式动态创建数组是可以避免常规无法创建动态数组的困扰。数组大小应在编译前就指定好。