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