constexpr(gcc)出错 - 错误:在'{'标记之前,不允许使用括号括起的初始值设定项

时间:2012-03-28 02:11:04

标签: c++ c++11 constexpr

struct X {
constexpr static char a1[] = "hello"; // Okay
constexpr static const char* a2[] = {"hello"}; // Error
};

int main(){}

使用gcc进行编译会产生错误:

  

错误:在'{'标记

之前,不允许使用括号括起的初始值设定项

这是非法使用constexpr吗?

修改

我尝试了3个不同版本的gcc,它在我最新的4.7.0上编译(我刚下载它,我使用的是mingw-w64),所以它看起来是一个固定的bug(链接到虽然bug会很好!)。

  

4.7.0 20120311(预发行)//好的
  4.6.4 20120305(预发布)//错误
  4.7.0 20110829(实验性)//错误

1 个答案:

答案 0 :(得分:2)

这是一个已修复的错误。我已确认代码使用g++ 4.7.0 20120311 (prerelease)编译。