-4
這段代碼顯示了我運行時的地址,而不是兩個矩陣的乘法。通過運算符重載的矩陣乘法
matrix matrix:: operator *(matrix x)
{
matrix c(m1,n2);
c.m=c.n=m;
for(int i=0;i<m1;i++)
{
for(int j=0;j<n2;j++)
{
c.a[i][j]=0;
for(int k=0;k<n1;k++)
{
c.a[i][j]+=(a[i][k]*x.a[k][j]);
}
}
}
return c;
}
此代碼不輸出任何。請詳細說明發生了什麼,並提供[mcve] – NathanOliver
什麼是m1和n2?我希望你打算'm'和'x.n',那麼矩陣的構造函數應該設置'c.m'和'c.n',這樣你就不想立即打開它們。 – JSF
無論如何,你的設計效率很低。也許你不在乎做真正有效的工作。但至少要做一些小事以避免過度低效:簽名應該是矩陣矩陣::運算符*(矩陣常量&x)常量 – JSF