C言語なら、俺に聞け! lt;50gt;
■ このスレッドは過去ログ倉庫に格納されています
0704デフォルトの名無しさん
NGNGプロトタイプ宣言がANSIで導入された機能であることは知ってるんだよな。
K&R流の書き方では
定義:
double func(a, b)
int a;
double b;
{
:
}
宣言:
double func();
となるが、宣言が無い場合は戻り値はintと仮定されるから
intを戻す関数の宣言は省略可能で、事実省略されることが多かった。
ANSIの規格でK&R風の書き方を許しているのは単なる妥協の産物だろ。
ANSI Cで仮引数リストが書かれていない場合は、引数が空という意味ではなく
"引数は、なんでもよい(K&R風宣言と見なし、チェックしない)"
という意味だから、voidと同じではない。そういう意味ではANSI C
のプロトタイプ宣言の機能を利用するなら、voidは省略するべきではない。
■ このスレッドは過去ログ倉庫に格納されています