在回答this question时,问题是关键字auto
(自动存储)的传统 C 含义在 C ++ 0x中是否仍然有效现在它意味着类型扣除。
我记得auto
的旧含义应保留在相关的位置,但其他人不同意。
auto char c = 42; // either compilation error or c = '*'
看看编译器,我看到了当前的部门。
你知道哪种行为正确吗?
答案 0 :(得分:15)
不,不是。实际上,§7.1.6.4/ 3给出了以下示例:
auto x = 5; // OK: x has type int
const auto *v = &x, u = 6; // OK: v has type const int*, u has type const int
static auto y = 0.0; // OK: y has type double
auto int r; // error: auto is not a storage-class-specifier
如您所见,它会导致错误。 §7.1.6.5与这笔交易密切相关:
在本节未明确允许的上下文中使用auto的程序格式不正确。