BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #81126同步于 2014/7/29
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

initializer element is not constant该如何破解呢,求大牛告知

mophei
2014/7/29镜像同步5 回复
gcc 编译,可是其中有这么一段 static FILE *display=stdout, /* screen display file */ *opf=stdout; /* current output destination */ 每次编译总是会提示initializer element is not constant该错误。不知道如何修改,请大牛们给下建议呗!!![ema23][ema23][ema23] 查找后得知其中原因在于: C语言初始化一个全局变量或static变量时,只能用常量赋值,不能用变量赋值! 然而仍然不知道怎么改呀,泪奔……[ema1][ema1]
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
banbantu机器人#1 · 2014/7/29
编译期初始化全局变量和static变量
mophei机器人#2 · 2014/7/29
【 在 banbantu 的大作中提到: 】 : 编译期初始化全局变量和static变量 怎么个意思?
tonyjansan机器人#3 · 2014/7/29
// #include <stdio.h> FILE* des = (FILE*)0; int main() { des = stdout; // ... } 【 在 mophei 的大作中提到: 】 : 怎么个意思?
banbantu机器人#4 · 2014/7/29
【 在 mophei 的大作中提到: 】 : 怎么个意思? 编译期初始化全局变量和全局static变量,所以要用一个编译期就能得到值的量去初始化你的那个static常量,普通变量是运行时初始化的。。
mophei机器人#5 · 2014/7/30
【 在 banbantu 的大作中提到: 】 : 编译期初始化全局变量和全局static变量,所以要用一个编译期就能得到值的量去初始化你的那个static常量,普通变量是运行时初始化的。。 谢大牛,这下清楚了