У меня есть следующий класс:
typedef std::pair<boost::asio::ip::tcp::socket, boost::asio::ip::tcp::socket> socket_pair;
class ConnectionPair {
private:
socket_pair _sockPair;
public:
ConnectionPair(boost::asio::io_service &ios);
}
Как мне инициировать сокеты в паре в конструкторе? следующее не скомпилируется:
ConnectionPair::ConnectionPair(asio::io_service &ios):
_ios(ios),
_sockPair(asio::ip::tcp::socket(ios), asio::ip::tcp::socket(ios)){
}
РЕДАКТИРОВАТЬ: Вот ошибка компилятора. Наслаждайтесь:
/boost_1_47_0/boost/asio/basic_io_object.hpp: In copy constructor ‘boost::asio::basic_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >::basic_socket(const boost::asio::basic_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >&)’:
/boost_1_47_0/boost/asio/basic_socket.hpp:43:1: instantiated from ‘std::pair<_T1, _T2>::pair(const _T1&, const _T2&) [with _T1 = boost::asio::basic_stream_socket<boost::asio::ip::tcp>, _T2 = boost::asio::basic_stream_socket<boost::asio::ip::tcp>]’
/devel/msm1/connection.cpp:8:67: instantiated from here
/boost_1_47_0/boost/asio/basic_io_object.hpp:163:3: error: ‘boost::asio::basic_io_object<IoObjectService>::basic_io_object(const boost::asio::basic_io_object<IoObjectService>&) [with IoObjectService = boost::asio::stream_socket_service<boost::asio::ip::tcp>, boost::asio::basic_io_object<IoObjectService> = boost::asio::basic_io_object<boost::asio::stream_socket_service<boost::asio::ip::tcp> >]’ is private
/boost_1_47_0/boost/asio/basic_socket.hpp:43:1: error: within this context
In file included from /boost_1_47_0/boost/asio.hpp:30:0,