尽管大小是恒定的,为什么会出现编译器错误?

时间:2019-05-01 05:19:41

标签: c++ compiler-errors

int n;
cin >> n;
const int size = n;
int arr[size];

我收到一个编译器错误消息“表达式必须具有恒定值”。我正在使用Visual Studio2013。但是数组大小为const int,其值不变。如何获得编译器错误?

1 个答案:

答案 0 :(得分:0)

与编译错误和Visual Studio版本无关。当您违反C ++概念时,就会发生编译错误。在这里,您从用户那里接收数组大小作为参数,它是动态值。在C ++中,您不能创建大小可变的动态数组,而可以使用静态数组。否则,您需要根据需要将数据结构切换为列表或映射。