當我嘗試編譯以下程序時,它顯示「生成失敗。對象引用未設置爲對象的實例」。我有點新的C++,所以如果有人能幫助我,它會很好。我只是嘗試了一些我在書中看到的例子,所以我不知道這有什麼問題。未將對象引用設置爲對象的實例
using namespace std;
class matrix
{
int m[3][3];
public:
void read(void);
void display(void);
friend matrix trans(matrix);
}
void matrix :: read(void)
{
cout<<"Enter the elements of the 3x3 array matrix : \n";
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
cout<<"m["<<i<<"]["<<j<<"] =";
cin>>m[i][j];
}
}
}
void matrix :: display(void)
{
int i,j;
for(i=0;i<3;i++)
{
cout<<"\n";
for(j=0;j<3;j++)
{
cout<<m[i][j]<<"\t";
}
}
}
matrix trans(matrix m1)
{
matrix m2;
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
m2.m[i][j] = m1.m[j][i];
}
}
return(m2); //returning an object
}
int main()
{
matrix mat1,mat2;
mat1.read();
cout<<"\nYou entered the following matrix :";
mat1.display();
mat2 = trans(mat1);
cout<<"\nTransposed matrix :";
mat2.display();
getch();
return 0;
}
告訴我們源代碼行,編譯器會抱怨。 –
@millimoose你找不到調試器的編譯器錯誤:-) –
如果我在類聲明後添加'#include''#include '並使用'-lncurses'編譯,這個編譯和運行沒有錯誤。 –
Max