K.Maebashi's BBS 投稿フォーム
ハンドル名
件名
Link
>なんか難しく考えすぎなのではないかと思ってきた・・・ >言語規格書は書いてあるとおりに読めばよくて、勝手に行間を解釈しては誤るよ。 > ><[外部定義かそうでないか]の解釈> > >JISX3010:2003 6.9.2 外部オブジェクト定義、で述べられている内容は要約すると >・オブジェクトの外部定義=ファイル有効範囲と初期化子をもつ場合 >・初期化子がなく、記憶域クラスなしか static があるとき=仮定義 >・仮定義が1つ以上あって外部定義が無い場合は、翻訳単位の終了時点で > 仮定義を =0 という初期化子を持つ外部定義と読み替える。 >以上。 >よってここに書いてないものは外部定義ではないっつーことだ。 >記憶域クラス指定 extern をもつ宣言についてはここ 6.9.2 では記載が無いので、 >外部オブジェクト定義ではない。 > >> 私は定義ではなく、ただの宣言である。 >ここまでは正しい。というか「外部定義にならない宣言である」というべきかな。 > >> 定義はほかにある >そんな勝手な行間を読んではいけない。これに関しては別に規定がきっちりある。 >6.9 外部定義、において >・外部結合で宣言した識別子を使用している場合、プログラム全体の中でその識別子に > 対する外部定義がちょうど1つなければならない。 >・使用していない場合、1つ以下でなければならない (*136) >(*136) 外部結合で宣言した識別子を使用しない場合、その外部定義は必要ない > ></[外部定義かそうでないか]の解釈>
spamよけのため、ここに「ほげぴよ」と入力してください。
削除パスワード :
クリック!