我已经干涉CAsyncSocket,并希望传递周围的对象。为什么CAsyncSocket没有拷贝构造函数或=操作符?
class ClientSocket : public CAsyncSocket
{
CAsyncSocket nitSocket;
public:
ClientSocket(void);
virtual ~ClientSocket(void);
};
我得到sevaral编译错误,当我做
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
我应该让我的拷贝构造函数但由于没有实施对于基类,我的代码会在运行时崩溃。
重要提示:我应该复印一份吗?我的新对象会收到原始对象的事件吗?
我不相信Winsock支持'dup()'操作。只需将您的套接字成员更改为参考。 – EJP 2012-08-15 10:57:22