Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/146.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么我无法访问类';中声明的私有成员;boost::asio::detail::不可复制';?_C++_Boost_Visual Studio 2012_Boost Asio - Fatal编程技术网

C++ 为什么我无法访问类';中声明的私有成员;boost::asio::detail::不可复制';?

C++ 为什么我无法访问类';中声明的私有成员;boost::asio::detail::不可复制';?,c++,boost,visual-studio-2012,boost-asio,C++,Boost,Visual Studio 2012,Boost Asio,下面是boostssl的教程。在那个教程中,我唯一没有做的事情就是将每个类放入自己的文件中。我不知道这是在哪里抛出,所以这是一个我很难调试 错误C2248:'boost::asio::detail::noncopyable::noncopyable':无法访问在类'boost::asio::detail::noncopyable'中声明的私有成员使用boost时的一个常见错误。asio是boost::asio::io_服务不可复制,因此您只能在类中存储对它的引用: struct foo {

下面是boostssl的教程。在那个教程中,我唯一没有做的事情就是将每个类放入自己的文件中。我不知道这是在哪里抛出,所以这是一个我很难调试


错误C2248:'boost::asio::detail::noncopyable::noncopyable':无法访问在类'boost::asio::detail::noncopyable'中声明的私有成员使用boost时的一个常见错误。asio是
boost::asio::io_服务
不可复制,因此您只能在类中存储对它的引用:

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服务了?不看你的代码就无法判断错误指向了哪一行?@avakar它没有指向我的任何代码。它指向中的io_service.hppboost@nijansen你说得对,把它贴出来作为回答,我会核对一下