如主题中所述,我在将值从重载运算符传回主函数时遇到问题。我已经搜索了很多但没有效果。这是我的示例运算符。返回 Matrix mi 之前的行已将 cout 用于检查算法是否正常工作。我对乘法运算符有同样的问题。
矩阵.h
class Matrix
{
public:
...
Matrix &operator+(const Matrix &m)
...
private:
int x;
int y;
double **tab;
};
矩阵.cpp
Matrix &Matrix::operator+(const Matrix &m)
{
if(x==m.x && y==m.y)
{
Matrix temp(x,y);
for(int i=0;i<x;i++)
{
for(int j=0;j<y;j++)
{
temp.tab[i][j]=tab[i][j]+m.tab[i][j];
}
}
cout << temp<< endl;
return temp;
}
else
{
char er[]={"error!\n"};
throw er;
}
}