【发布时间】:2012-09-03 18:26:47
【问题描述】:
class B;
class A{
B *b;
public:
void operator= (B *b){
this->b = b;
}
};
B *b = new B()
A *a = new A();
a = b;
我收到“无法将 B* 转换为 A*”错误。
有没有办法解决这个问题?
现在,如果有办法,如果我使用类似的东西:
a = NULL;
将使用哪个运算符“=”?
【问题讨论】:
-
你的重载分配给
A,而不是A*。 -
您将指向
B的指针分配给指向A的指针,这与将B分配给A不同。 -
谢谢大家。菜鸟失误!
-
@nahpr 请考虑选择以下答案之一作为接受的答案。
标签: c++ operator-overloading assignment-operator