У меня есть ошибка в следующем коде, когда я пытался скомпилировать это:
void Server::accept(void)
{
Network::ptr connection = Network::initialize(this->my_acceptor.get_io_service());
this->my_acceptor.async_accept(connection->socket(), bind(&Server::endCmd, this, *connection, placeholders::error));
}
void Server::endCmd(Network connection, const boost::system::error_code& error)
{
if (!error)
{
std::cout << "success!" << std::endl;
connection.start();
this->accept();
}
}
VC ++ 2010 скажите мне следующую ошибку:
Error 1 error C2248: 'boost::asio::basic_io_object<IoObjectService>::basic_io_object' : cannot access private member declared in class 'boost::asio::basic_io_object<IoObjectService>'
Я знаю, эта ошибка приходит кэта строка, потому что, когда я комментирую ее, ошибка исчезает ... После некоторого исследования, это вероятно с классом сокета, когда я вызываю connection->getSocket()
, но эта функция возвращает ссылку на экземпляр сокета:
tcp::socket& Network::socket(void)
{
return (this->my_socket);
}
так что я не нашел никакого решения в сети: (
У кого-нибудь есть идеи, плз?