我正在尝试定义一个堆栈 c 样式数组,其大小取自 const 数组并且在编译时是已知的。
const int size[2]={100, 100};
int ar[size[0]]; //error: expression must have a constant value
它失败。如何修复?
我正在尝试定义一个堆栈 c 样式数组,其大小取自 const 数组并且在编译时是已知的。
const int size[2]={100, 100};
int ar[size[0]]; //error: expression must have a constant value
它失败。如何修复?
“其大小取自 const 数组且在编译时已知的数组”
使用 C++11,您可以:
constexpr int size[2]={100, 100}; // size[0] is Compile-time constant
使用-std=c++11
or-std=c++0x
编译
一些选项(具有不同程度的受欢迎程度):
const int
(C99 或更新版本或 C++)enum
C++ 数组大小必须是常量表达式,而不仅仅是常量数据。数组数据,即使是 const,也不是常量表达式。