【发布时间】:2011-09-01 07:49:26
【问题描述】:
我已经重新定义了
class foo
{
foo();
virtual ~foo();
void operator << (BaseService*& iRight);
}
在代码中的某个地方,有一个 foo 实例和一个服务,它是我所做的 BaseService 类的特化:
Service* service_pointer = new Service();
foo_instance << service_pointer;
但我收到此错误: 错误:'foo_instance
如果我将 service_pointer 动态转换为 BaseService,则不会发生任何变化
Service* service_pointer = new Service();
foo_instance << dynamic_cast<BaseService*>(service_pointer);
有什么想法吗?
【问题讨论】:
标签: c++ pointers casting operator-overloading pass-by-reference