为什么这段代码在C和C++下编译结果不一样?
PHPz
PHPz 2017-04-17 14:38:18
0
1
446
#include <stdio.h>

int foo()
{
    return 50;
}

int main()
{                                        
    static int a = foo();
    printf("%d\n", a);


    return 0;
}  

上面这段代码,我用 g++ 编译可以通过,程序也可以正常输出 50,
用 gcc 编译就编译失败了,为什么?

PHPz
PHPz

学习是最好的投资!

全部回覆(1)
巴扎黑

c99標準裡

4 具有靜態儲存持續時間的物件的初始值設定項中的所有表達式都應為常數表達式或字串文字。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板