10

autoC++11 でキーワードをストレージ クラス指定子として使用できますか?

次のコードは C++11 で有効ですか?

int main() {
   auto int x;
}
4

2 に答える 2

13

いいえ、C++11 ではコードの形式が正しくありません。autoin C++11 は、初期化子から変数の型を推測するために使用され、ストレージ クラス指定子としては使用できません。

正しい使い方

int main()
{
   auto x = 12; // x is an int
   auto y = 12.3; // y is a double
}
于 2011-05-22T11:37:45.453 に答える
0
auto int x;

は循環型です - 文字通り型を として宣言していintます。この情報があれば、単純に使用しない理由はありません:

int x;

x をスコープ内の別の変数の型として宣言したい場合は、使用できますdecltype

using sometype = float;
sometype y;
decltype(y) x;
于 2016-10-03T23:45:43.030 に答える