6
Ho ridotto il mio problema al seguente:g ++ lamenta constexpr funzione non è un'espressione costante
struct A {
static constexpr std::size_t f() { return 4; }
};
template<std::size_t N>
struct B : A {
alignas(A::f()) char a[N];
};
non vedo cosa c'è di sbagliato in questo, ma se provo a compilare utilizzando g++
:
main.cpp:9:19: error: expression 'A::f' is not a constant-expression
alignas(A::f()) char a[N];
^
main.cpp:9: confused by earlier errors, bailing out
La riproduzione è disponibile on coliru.
(http://comments.gmane.org/gmane.comp.gcc. bug/425219) GCC 5.1 mi dà un ICE, però. – chris
[La trama si addensa ...] (http://coliru.stacked-crooked.com/a/3e4e9d42d7ee440a) – orlp