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を使用しています)、修正されたバグのようです(バグへのリンクはでもいいです!)。
4.7.0 20120311(プレリリース)//わかりまし
た4.6.4 20120305(プレリリース)//エラー
4.7.0 20110829(実験的)//エラー