【发布时间】:2014-06-16 13:41:57
【问题描述】:
我正在堆栈上创建一个数组
static const int size = 10;
void foo() {
..
int array[size];
..
}
但是,我得到编译错误:“表达式必须有一个常量值”,即使 size 是一个常量。我可以使用宏
#define SIZE (10)
但我想知道为什么size 标记为const 会导致编译错误。
【问题讨论】:
-
恐怕还不够足够稳定。请改用宏。
-
足够恒定是什么意思?你能解释一下吗
-
旧的编译器?需要升级吗?
-
我可以使用宏,但想知道为什么标记为 const 的大小会导致编译错误。
-
有你的答案HERE(编辑链接)
标签: c