C言語なら俺に聞け! Part 94
■ このスレッドは過去ログ倉庫に格納されています
0449デフォルトの名無しさん
NGNGCでは宣言文と定義文が分かれていないと初期のころから不思議がられていた。
で、上の「char a[6];」のみで「=」無しのやつなんかは、規格の6.9.2で、
仮定義(tentative definition)と、仮なんて無理やりな言葉で誤魔化した。
真の定義じゃないから、関数の外で「char a[6]; char a[6];」なんて複数仮定義してもOKだし、
もちろん、「extern char a[6]; static char a[6];」なんて仮定義しても警告すら出ん。
規格では「extern」は内部結合でもいいよと書かれているが、字面じゃ完璧エラーだろ。
■ このスレッドは過去ログ倉庫に格納されています