[英]Error: Expression must have a constant value, when variable is constant?
我在C ++程序中有以下三行代码:
cin >> size;
const int arrsize = size;
int inBoard[arrsize][arrsize];
VS Express给出了以下错误: Error: expression must have a constant value
在最后一行,特别是在arrsize
的两个提及中。 我不明白这是因为我宣称arrsize
是一个const
? 这里有什么问题,我该如何避免呢?
您不能像使用arrsize
作为大小那样在堆栈上创建数组,因为它在编译期间不是常量。 arrsize
的值将取决于size
,这恰好在运行时获取其值。
解决方案:
std::vector<std::vector<int> >
operator new[]
分配您自己的2D数组(不推荐。严重。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.