C++相談室 part46
■ このスレッドは過去ログ倉庫に格納されています
0632デフォルトの名無しさん
2006/02/05(日) 21:54:29関数の定義の仕様(8.4 Function definitions)を読んでいたのですが、
function_definition:
decl_specifier_seq( opt ) declarator ctor_initializer(opt) function_body
こんな感じで書かれています。
ここの、decl_specifier_seq が関数の戻り値の型に相当するようです。(8.4.2のExample参照)
で、これは7.1(Specifiers)で、以下のように定義されています。
decl_specifier_seq:
decl_specifier_seq(opt)
declspecifier
つまり、複数の declspecifier を含むことができるようになっています。
でも、それを額面どおりに受け取ると、戻り値型を複数指定できる、と
読めるのですが、もちろんそんなことはありませんよね?
int char Foo( ... )
とかはコンパイル通りませんし。なぜ仕様書ではこんな書き方になっているの
でしょうか?なにかを見落としているなら、教えてください。
それとも、ひょっとして複数型の戻り値が仕様的には正しいwのでしょうか?
ちなみに、decl_specifierにint とか charが含まれます。
よろしくお願いします。
■ このスレッドは過去ログ倉庫に格納されています