100分,你懂的,基类竟然把拷贝,operator=给私有了
“CAsyncSocket::CAsyncSocket”: 无法访问 private 成员(在“CAsyncSocket”类中声明)1> d:\program files (x86)\microsoft visual studio 10.0\vc\atlmfc\include\afxsock.h(104) : 参见“CAsyncSocket::CAsyncSocket”的声明1> d:\program files (x86)\microsoft visual studio 10.0\vc\atlmfc\include\afxsock.h(100) : 参见“CAsyncSocket”的声明1> 此诊断出现在编译器生成的函数“CClientSock::CClientSock(const CClientSock &)”中1>1>生成失败。1>1>已用时间 00:00:03.93========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========class CMyServerDlg ;/////////////////////////////////////////////////////////////////////////////// CClientSock command targetclass CClientSock : public CAsyncSocket{public: CClientSock(); virtual ~CClientSock(); void SetDlg(CMyServerDlg* pDlg);public: virtual void OnConnect(int nErrorCode); virtual void OnReceive(int nErrorCode); virtual void OnClose(int nErrorCode); CMyServerDlg* m_pDlg; //DECLARE_MESSAGE_MAP()};///////////////////////////////////////////////////////////////////////////////{{AFX_INSERT_LOCATION}}// Microsoft Visual C++ will insert additional declarations immediately before the previous line.#endif // !defined(AFX_CLIENTSOCK_H__A80C259D_F59B_4079_AC2F_5E18FA850C77__INCLUDED_)private:CAsyncSocket(const CAsyncSocket& rSrc); // no implementation
[解决办法]
为了禁止复制而把复制构造函数和操作符=都给private了,很稀奇吗?
那楼主如果知道单例模式把构造函数给private了,是不是更吃惊?
[解决办法]
封装而已
[解决办法]
那就是说明不给你继承的嘛。楼主可以去看看CSocket等类。或者完全自己写Socket类咯
[解决办法]
protected: CObject();private: CObject(const CObject& objectSrc); // no implementation void operator=(const CObject& objectSrc); // no implementation
[解决办法]