C ++ 11: g ++ - 4.7 внутренняя ошибка компилятора
Следующий код:
#include
#include
using namespace std;
constexpr int N = 1000000;
constexpr int f(int x) { return x*2; }
typedef array A;
template struct F { static constexpr A f() { return A{{ ::f(i)... }}; } };
template struct C {};
template struct C : F
{
using T = F;
};
template struct S : C {};
template struct S : F { using T = F; };
constexpr auto X = S::f();
int main()
{
cout < X[3] < endl;
}