-2
我有一個對象矩陣,我重載了一元減運算符,我無法設法使我的程序工作。如果我將返回類型作爲參考,它不允許我返回在函數內創建的對象,如果我將返回類型設置爲Matrix,則會出現分段錯誤。一元減運算符重載C++分段錯誤
在H文件:
Matrix operator -() const;
在cpp文件
:
Matrix Matrix::operator -() const
{
if (isValid==false)//just a validity check
return *this;
Matrix mat(*this);//copy ctor
for (int i=0;i<row;i++)
for (int j=0;j<col;j++)
mat.matrix[i][j]=-matrix[i][j];
return mat;
}
我試過的許多排列(添加常量,通過參考加入)和似乎沒有任何工作。我該如何解決 ?
的實施和使用,將有助於 – imreal
任何使用減號來的觸發分段錯誤,它甚至沒有進入功能(試過cout的東西)。 我會寫它無論 –
你必須把真實的代碼,該方法甚至沒有參數,如果它沒有進入功能把調用網站。 – imreal