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

Программы на C++. Форум разработчиков
Ответить
Anonymous
 C++ — Что можно сделать с внутренними ошибками компилятора?

Сообщение Anonymous »

При программировании матричного класса я столкнулся с чем-то интересным и неприятным: внутренняя ошибка компилятора. Я хотел вызвать родственный конструктор класса 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


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

Подробнее здесь: https://stackoverflow.com/questions/173 ... ler-errors
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»