0
我正在關注升級SSL的This教程。我做的唯一沒有完成的教程是把每個類放到它自己的文件中。我不知道它在哪裏被拋出,所以它對我來說很難調試。爲什麼我無法訪問類'boost :: asio :: detail :: noncopyable'中聲明的私有成員?
錯誤C2248: '提高:: ASIO ::詳細::不可複製::不可複製':不能訪問類中聲明 '的boost :: ASIO ::詳細::不可複製'
我正在關注升級SSL的This教程。我做的唯一沒有完成的教程是把每個類放到它自己的文件中。我不知道它在哪裏被拋出,所以它對我來說很難調試。爲什麼我無法訪問類'boost :: asio :: detail :: noncopyable'中聲明的私有成員?
錯誤C2248: '提高:: ASIO ::詳細::不可複製::不可複製':不能訪問類中聲明 '的boost :: ASIO ::詳細::不可複製'
常見的私有成員與Boost.Asio的工作時的錯誤是boost::asio::io_service
是不可複製的,所以你可能在你的類只引用存儲:
struct foo
{
foo(boost::asio::io_service & io_service)
: io_service_(io_service)
{}
private:
boost::asio::io_service & io_service_; // ok
};
如果申報boost::asio::io_service io_service_
相反,你得到的錯誤如上所述,因爲初始化io_service_(io_service)
取決於被調用的複製構造函數。
錯誤說明了一切。您無法複製該特定的Boost.Asio對象。 –
也許你忘了通過引用而不是按值來存儲'io_service'?無需看代碼即可知道 – nijansen
錯誤指向哪條線? – avakar