以下標識符沒有鏈接:聲明爲除對象或函數以外的任何其他標識符的標識符;一個標識符被聲明爲一個函數參數; 未聲明存儲類說明符extern的對象的塊範圍標識符。塊範圍鏈接C標準
{
static int a; //no linkage
}
對於在一個範圍,其中該標識符的先前聲明是可見的,如果事先聲明指定的內部或外部聯動,標識符中的連桿的存儲類說明的extern聲明的標識符後面的聲明與先前聲明中指定的鏈接相同。如果前面的聲明不可見,或者如果先前的聲明沒有指定鏈接,那麼標識符具有外部鏈接。
{
static int a; //no linkage
extern int a; //a should get external linkage, no?
}
GCC錯誤:一個extern聲明如下聲明沒有聯動
有人可以解釋我爲什麼我得到這個錯誤?
謝謝
可能是語義,「指定沒有連鎖」相對於「指定‘沒有連鎖’」。在這種情況下自動宣傳聽起來很瘋狂 –
我不明白區別。你能詳細說明一下嗎? – mindless