-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