C ++ - Что можно сделать с внутренними ошибками компилятора?

Я столкнулся с чем-то интересным и раздражающим при программировании класса матрицы: внутренняя ошибка компилятора. Я был готов вызвать сестру конструктора в классе под названиемMatrix4::Matrix4(Matrix4&&), Это фрагмент кода, который генерирует эту ошибку:

template
Matrix4(Matrix4&& matrix_) = default;

template
Matrix4::Matrix4(T (&&matrix_)[4][4]):
    Matrix4({
        .data = {
            {matrix_[0][0], matrix_[0][1], matrix_[0][2], matrix_[0][3]},
            {matrix_[1][0], matrix_[1][1], matrix_[1][2], matrix_[1][3]},
            {matrix_[2][0], matrix_[2][1], matrix_[2][2], matrix_[2][3]},
            {matrix_[3][0], matrix_[3][1], matrix_[3][2], matrix_[3][3]}
        }
    })
{

}

И это внутренняя ошибка компилятора (компилятор GCC и IDE это Code :: Blocks):

внутренняя ошибка компилятора: в process_init_constructor_array, в cp / typeck2.c: 1080

Возможно, компилятор не может успешно разобрать мой код. Я'Я уверен, что синтаксис в порядке. Что я могу сделать в этой ситуации?

Ответы на вопрос(1)

Ваш ответ на вопрос