私は CAsyncSocket を継承しており、オブジェクトを渡したいと思っていました。
class ClientSocket : public CAsyncSocket
{
CAsyncSocket nitSocket;
public:
ClientSocket(void);
virtual ~ClientSocket(void);
};
実行すると、いくつかのコンパイルエラーが発生します
void SomeOtherClass::func(ClientSocket &socket)
this->socket = socket;
}
エラー:
'CAsyncSocket::operator =' : cannot access private member declared in class 'CAsyncSocket'
ファイルを調べて見つけました
private:
CAsyncSocket(const CAsyncSocket& rSrc); // no implementation
void operator=(const CAsyncSocket& rSrc); // no implementation
コピー コンストラクターを作成する必要がありますが、基本クラスの実装がないため、実行時にコードがクラッシュします。
重要: コピーを作成する必要がありますか? 新しいオブジェクトは元のオブジェクトのイベントを受け取りますか?