constexpr
以前のバグが含まれていない g++4.8.0 を使用しています。したがって、以下のコードは正常に動作します:
constexpr int size() { return 5; }
int array[size()];
int main () {}
class
ただし、両方の変数をasstatic
で囲むと、コンパイラ エラーが発生します。
struct X {
constexpr static int size() { return 5; }
static const int array[size()];
};
int main () {}
エラーは次のとおりです。
エラー: 配列 'array' のサイズは整数の定数式ではありません
そのような方法で使用することは禁止されていますconstexpr
か、それとも別の g++ バグですか?