关于“initializer element is not constant ”的编译错误
摘要:
以下两段代码,如果命名为 *.c 文件,在GCC下编译,都会报错,错误信息是“initializer element is not constant ”。但是如果把 *.c 文件改名为 *.cc文件,用g++编译,就不会报错。谁能详细解释一下这是为什么。// code 1int i = 10;int j = i + 4;// code 2int i = 10;int main(){ static int j = i; retrun 0;}原因:在C++中对于以下语句:// 全局域int i = 3;int j = i;编译时将i 放入.data 段,设置其值为3.而对于j ,编译器遇到这种.. 阅读全文
posted @ 2012-05-16 19:11 Richard.FreeBSD 阅读(579) 评论(0) 推荐(0) 编辑