5

仅限理论问题 - 为什么我不能编写这样的代码:

auto auto foo = 0;

第一个 auto 关键字 - 存储类说明符(是的,我知道它在 C++11 中无用且已弃用),第二个 auto 关键字 - auto 类型说明符。

那么有什么问题呢?

再说一次 - 我真的不想在实际代码中使用它。

4

2 回答 2

20

存储类说明符并非“auto在 C++11 中无用且已弃用”,它已被完全删除。关键字不再是存储类说明符,auto不能作为一个。

在 C++11 中,auto是一个简单的类型说明符。

于 2012-08-29T17:55:01.767 回答
3

来自Stroustrup 的常见问题解答

....auto 的旧含义(“这是一个局部变量”)现在是非法的。几位委员会成员翻阅了数百万行代码,只发现了少数用途——其中大部分都在测试套件中或似乎是错误。

这表明没有使用“auto”作为存储说明符的代码。

于 2012-08-29T18:04:19.377 回答