10

在 C++11 中,auto关键字可以用作存储类说明符吗?

以下代码在 C++11 中是否合法?

int main() {
   auto int x;
}
4

2 回答 2

13

不,代码在 C++11 中格式不正确。auto在 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 回答