トピックで述べたように、オーバーロードされた演算子からメイン関数に値を渡す際に問題が発生しました。私はこれをたくさん検索しましたが、効果はありませんでした。これが私のサンプル演算子です。Matrix mi を返す前の行は、アルゴリズムが正常に機能するかどうかを確認するために c を配置しました。乗算演算子にも同じ問題があります。
マトリックス.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;
}
}