#include
using namespace std;
class A
{
public:
void action()
{
cout << "Action in class A!" << endl;
}
};
class B
{
A a;
int s;
public:
void action()
{
cout << "Action in class B!" << endl;
}
A operator->() const
{
return &a;
}
};
class C
{
B b;
public:
void action()
{
cout << "Action in class C!" << endl;
}
B operator->() const
{
return b;
}
};
int main()
{
C *pc = new C;
pc->action();
C c;
c->action();
return 0;
}
在class B中重载->函数被定义为const的。报错说const A不能转换为A*
const成员函数内将该类的数据成员变成const?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- cxsmarkchan 2016-03-13 09:01关注
A operator->() const { return &a; }
修改为:
A* operator->() { return &a; }
解决 无用评论 打赏 举报
悬赏问题
- ¥50 如何用脚本实现输入法的热键设置
- ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
- ¥30 深度学习,前后端连接
- ¥15 孟德尔随机化结果不一致
- ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
- ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
- ¥15 谁有desed数据集呀
- ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
- ¥15 关于#hadoop#的问题
- ¥15 (标签-Python|关键词-socket)