C/C++の宿題を片付けます 117代目

このエントリーをはてなブックマークに追加
962デフォルトの名無しさん
>>954
c でよく採用された実装では、呼び出され側のコードは、呼び出し側の引数の個数や種類に依存しない、というもの。....※
個々の関数は翻訳単位を別にとることが可能ですよね。無論、呼び出し側・呼び出され側の引数のチェックがあればそれにこしたことはないのですが。
で、main() についても呼び出し側でなんらかの仮定があり、それに対応して main() 記述側で記述するわけです。
※によりmain() 呼び出し側は main() の記述側で必要な引数がどうであれ、常に同じものがリンクされるといっていいと思います。
そうであれば、main(void) と書くのは、main() 呼び出し側の仮定と食い違う書き方をしているわけですね。この書き方はcdecl なら問題ありませんが、stdcall のことは考えていませんよね。

int main(void)
は、main() の呼び出し側に思いを馳せていない、という気がどうしてもしてしまいます。