매트릭스 클래스를 프로그래밍하는 동안 흥미롭고 귀찮은 뭔가가 발생했습니다 : 내부 컴파일러 오류. Matrix4<T>::Matrix4(Matrix4<T>&&)
이라는 클래스의 자매 생성자를 기꺼이 호출하려고했습니다. 이이 오류를 생성 코드의 조각 :C++ - 내부 컴파일러 오류로 수행 할 수있는 작업은 무엇입니까?
template<typename T>
Matrix4(Matrix4&& matrix_) = default;
template<typename T>
Matrix4<T>::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 코드 :: 블록입니다) :
internal compiler error: in process_init_constructor_array, at cp/typeck2.c:1080
추측 컨대 컴파일러가 내 코드를 성공적으로 파싱 할 수 없습니다. 그래도 구문이 괜찮은지 확신합니다. 이 상황에서 나는 무엇을 할 수 있습니까?
버그 신고를 제출할 수 있습니다. – jrok
@jrok : 나는 이것에 아주 새로운 것이다. 어떻게해야합니까? – Helixirr
[http://gcc.gnu.org/bugs/](hcc://gcc.gnu.org/bugs/). 버그 리포트에 관해서는 이미보고되거나 고쳐지지 않았는지, 당신의 코드가 실제로 정확한지 확인하십시오. – jrok