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*
」 的錯誤。 有沒有辦法解決這個問題?C++重載賦值運算符: 「不能轉換`B *``到A *`」 錯誤
現在,如果有一種方法,如果我使用類似:
a = NULL;
哪個運營商「=」將被使用?
您的重載指定給'A',而不是'A *'。 – chris
您正在爲指向「A」的指針分配一個指向「B」的指針,這與將「B」指派給「A」不同。 – juanchopanza
謝謝大家。菜鳥錯誤! – nahpr