原文链接:http://www.juzicode.com/archives/4137
错误提示:
定义错误 C2131 表达式的计算结果不是常数
//juzicode.com;vx:桔子code
//vs2015
#include < iostream >
using namespace std;
int main(void)
{
int len;
cin >> len;
int array[len];
while (len--){
cin >> array[len];
}
for (int a : array) {
cout << a << " ";
}
return 0;
}

错误原因:
1、编译期间内存要根据给定长度为数组分配内存空间,如果数组长度是变量就无法判断该使用多大的空间
解决方法:
1、使用动态分配内存的方式:
//juzicode.com;vx:桔子code
//vs2015
#include < iostream >
using namespace std;
int main(void)
{
int len;
cin >> len;
int *array = new int[len];//动态分配内存
int i = len;
while (i--) {
cin >> array[i];
}
for (int i = 0; i < len;i++) {
cout << array[i] << " ";
}
return 0;
}
关注微信公众号:“桔子code”,欢迎后台留言撩我,我会尽我所能为你解惑
