你定义的类中M为private,故类外部无法访问。你可以在类内部设置setM()方法或将M设置为public,此处选择后者要简单一些。修改后的Matrix类及测试代码如下:
#include
using namespace std;
class Matrix
{
private:
int line,row;
public:
int **M; // 将其设置为public
Matrix(int l=4,int r=5)
{
line=l;
row=r;
M=new int*[4];
for(int i=0;i
}
};
int main()
{
Matrix matrix;
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 5; j++)
{
matrix.M[i][j] = i*j; // 赋值语句
cout << matrix.M[i][j] << " ";
}
cout << endl;
}
return 0;
}
//因为一个指针只能存放一个地址,不能存放多个数值。是不是将二维数组的地址赋给一个指针?
//下面是我对你要求的理解。
int a[6][10];
int (*p)[10]=a;