c++ 规定不能使用变量作为数组的长度(虽然在ubuntu下编译不会出问题,但在其他系统可能就会报错),必须使用常量
例如:
int num=10;
int array[num]; //报错
const int num=10;
int array[num];//正常
这是因为数组作为c++的内置数据类型,是在栈中分配内存,其大小需要在编译时就确定,不能等到运行时在分配。(常量的值在编译时就已经确定)
但如果在堆上申请内存,其大小可以使用变量,
例如:int a=new int[num]; //内存空间会在运行时动态分配