error C2228: “.elem”的左边必须有类/结构/联合
时间:2011-12-04
来源:互联网
class Matrix
{
int* m;
int szl,szr;
public:
Matrix(int,int);
Matrix(const Matrix& n);
int& elem(int,int);
~Matrix();
};
Matrix::Matrix(int i,int j)
{
szl=i;szr=j;
m=new int[i*j];
}
Matrix::Matrix(const Matrix& n)
{
szl=n.szl;
szr=n.szr;
m=new int[szl*szr];
for(int i=0;i<szl;i++)
for(int j=0;j<szr;j++)
m.elem(i,j)=n.elem(i,j);
}
int& Matrix::elem(int i,int j)
{
if(i<0||szl<=i||j<0||szr<=j)
{
cerr<<"Matrix index out of range.\n";
exit(1);
}
return m[i*szr+j];
}
d:\users\administrator\documents\visual studio 2010\projects\hw6_2\hw6_2\hw6_2.cpp(58): error C2228: “.elem”的左边必须有类/结构/联合
1> 类型是“int *”
1>d:\users\administrator\documents\visual studio 2010\projects\hw6_2\hw6_2\hw6_2.cpp(58): error C2662: “Matrix::elem”: 不能将“this”指针从“const Matrix”转换为“Matrix &”
1> 转换丢失限定符
请大家看看是怎么回事?
{
int* m;
int szl,szr;
public:
Matrix(int,int);
Matrix(const Matrix& n);
int& elem(int,int);
~Matrix();
};
Matrix::Matrix(int i,int j)
{
szl=i;szr=j;
m=new int[i*j];
}
Matrix::Matrix(const Matrix& n)
{
szl=n.szl;
szr=n.szr;
m=new int[szl*szr];
for(int i=0;i<szl;i++)
for(int j=0;j<szr;j++)
m.elem(i,j)=n.elem(i,j);
}
int& Matrix::elem(int i,int j)
{
if(i<0||szl<=i||j<0||szr<=j)
{
cerr<<"Matrix index out of range.\n";
exit(1);
}
return m[i*szr+j];
}
d:\users\administrator\documents\visual studio 2010\projects\hw6_2\hw6_2\hw6_2.cpp(58): error C2228: “.elem”的左边必须有类/结构/联合
1> 类型是“int *”
1>d:\users\administrator\documents\visual studio 2010\projects\hw6_2\hw6_2\hw6_2.cpp(58): error C2662: “Matrix::elem”: 不能将“this”指针从“const Matrix”转换为“Matrix &”
1> 转换丢失限定符
请大家看看是怎么回事?
作者: a18451175 发布时间: 2011-12-04
m.elem,m是个啥,数组啊
作者: bdmh 发布时间: 2011-12-04
m是个指针,要用 ->
作者: bdmh 发布时间: 2011-12-04
首先,m.elem有问题,m是个int型指针,它里面没有elem的成员函数,elem是Matrix类里面的并非int类里面的。其次,m是个指针,调用指针的方法应该用->
作者: wumuzi520 发布时间: 2011-12-04
那么应该怎样改啊
作者: a18451175 发布时间: 2011-12-04
m.elem(i,j)=n.elem(i,j);
改成
elem(i,j)=n.elem(i,j);
改成
elem(i,j)=n.elem(i,j);
作者: riyueming184 发布时间: 2011-12-04
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28