[217] Re:C言語ポインタ完全制覇についての質問
投稿者:774RR
2007/02/20 02:13:25
C の場合は名前空間わけがざっくりすぎるし、オーバーロードは無いので、
結局同一名称の関数は1つしか存在し得ないわけです。では
>int func1(void) {
> extern int piyo(void);
> return piyo();
>}
の意図はというと、
「この extern を {} 外に出してしまうと同一翻訳単位中の他の関数から piyo() が正しく
呼び出せてしまって警告にならない」
ことを防止することにあります。
piyo() は func1() 専用の作業関数であることを明示したい、と。
だから func2() からは piyo() を呼び出せない、ないしは、
呼び出そうとすると警告になってほしい、わけですね。
# C++ ではきっちりエラーになってくれる。
ではない?