【发布时间】:2011-06-26 06:49:45
【问题描述】:
In class initialization feature,允许在类内部初始化普通成员,
struct A {
int a = 0; // error: ISO C++ forbids in-class initialization of non-const static member ‘a’
};
这在最新的编译器 gcc-4.6 (-std=c++0x) 中出现错误。此功能是否已纳入 C++11 标准或 gcc 仍然不支持?
【问题讨论】:
-
您的示例使用 clang (svn trunk) 编译得很好。
-
你试过 gcc 4.7 吗?它可能已被纳入。
-
@Matthieu,我花了很多功夫在一周前的 Ubuntu 上安装了 gcc-4.6,假设它支持所有功能。现在我知道 gcc-4.7 已经发布了!! :'(
-
我刚刚查看了发行说明 (gcc.gnu.org/gcc-4.7/changes.html),它似乎没有在 4.7 中实现。老实说,我发现 4.7 的变化相当轻(无论如何对于 C++),尽管我猜回顾模板的两阶段查找意味着一些努力!
标签: c++ c++11 in-class-initialization