auto
キーワードを使用して異なる型の複数の変数を宣言することは許可されていないようです。ただし、それを妨げる標準の文言がわかりません。
auto i = 1, j = 1.0; //deduction failure (several compilers)
decl-specifier-specが 1 つしかないので、歴史的に理解しています。ただし、標準のルールは、auto
それぞれに異なるタイプになる可能性があることを排除していないようであり、実際には推奨しています。次の段落を検討してください。
8-3 宣言内の各init-declaratorは、それ自体が宣言内にあるかのように個別に分析されます。
7.1.6.4-7 宣言子のリストに複数の宣言子が含まれる場合、宣言された各変数の型は上記のように決定されます。[...]
auto
すべての変数が同じ型である必要がない場合でも、特定の修飾子など*
を各宣言子に個別に適用できます。私には、言葉遣いにより、各auto
宣言子を完全に異なる型にすることができるようになりました。
これを禁止するのはどの段落ですか。