6
struct X {
constexpr static char a1[] = "hello"; // Okay
constexpr static const char* a2[] = {"hello"}; // Error
};
int main(){}
用gcc編譯給出了錯誤:誤差constexpr(GCC) - 錯誤:一個括號內的初始化這裏不允許使用之前,「{」令牌
error: a brace-enclosed initializer is not allowed here before '{' token
這是非法使用constexpr的?
編輯
我試過3個不同版本的gcc,並在最新的4.7.0編譯的我(我只是下載了它,我使用的MinGW-W64),所以它看起來是一個固定的錯誤(一個錯誤的鏈接會很好,但!)。
4.7.0 20120311 (prerelease) // Okay
4.6.4 20120305 (prerelease) // Error
4.7.0 20110829 (experimental) // Error
@BenjaminLindley:我下載了一個更新的版本,它工作,所以它似乎是一個固定的錯誤(請參閱我的編輯)。謝謝! (我應該刪除這個問題嗎?) – 2012-03-28 02:36:49
@Jesse:我寧願在這裏留下問題(儘管如果可能的話改進標題,例如添加錯誤消息)。這樣有此問題的下一個人將知道要更新。 – 2012-03-28 06:45:03