我在編程矩陣類時遇到了一些有趣和煩人的事情:內部編譯器錯誤。我願意在課堂上調用一個叫做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/](http://gcc.gnu.org/bugs/)。至於任何錯誤報告,請確保它尚未被報告或修復,並且您的代碼確實是正確的。 – jrok