【发布时间】:2016-01-17 13:35:16
【问题描述】:
static int i = 5;
static int j = i;
int main()
{
return 0;
}
我正在通过另一个在此之前声明的静态变量初始化静态变量,但我也得到了变量。请告诉我为什么这是错误的。
【问题讨论】:
-
不能,
static变量只能用常量值初始化。 -
C 只有一个非常严格的“常量”概念,不幸的是,您的用例不包括在内。
-
你能解释一下你为什么想要这个吗?所以也许可以提供一个解决方案。
-
如果您不想在代码中重复常量值,可以使用宏作为值,然后在两个初始化程序中使用宏。
-
@user9000
const并不暗示该变量是常量。
标签: c variables initialization static-variables