В отчаянном сражении с Boost.Asio я столкнулся с множеством трудностей.
Одним из них является то, что я едва могу найти , где "boost :: noncopyable errors" !!
Если я случайно нарушу некопируемые правила, IDE показывает мне только некоторые ошибки в noncopyable.hpp или где-то еще, но нигде в моих файлах .
Я могу находить ошибки только по комментариям и комментариям везде, где существует объект asio.
(ps: моя IDE - это Visual C ++ 2008, у этой IDE плохие отношения с Boost ??)
EDIT:
Я знаю, что чтение сообщения об ошибке whole очень помогает.
Но как насчет этого?
1>d:\boost\include\boost-1_42\boost\asio\basic_io_object.hpp(92) : error C2248: 'boost::noncopyable_::noncopyable::noncopyable' : cannot access private member declared in class 'boost::noncopyable_::noncopyable'
1> d:\boost\include\boost-1_42\boost\noncopyable.hpp(27) : see declaration of 'boost::noncopyable_::noncopyable::noncopyable'
1> d:\boost\include\boost-1_42\boost\noncopyable.hpp(22) : see declaration of 'boost::noncopyable_::noncopyable'
1> This diagnostic occurred in the compiler generated function 'boost::asio::basic_io_object<IoObjectService>::basic_io_object(const boost::asio::basic_io_object<IoObjectService> &)'
1> with
1> [ IoObjectService=boost::asio::stream_socket_service<boost::asio::ip::tcp> ]
Все это вызвано
tcp::socket getSocket(){
return m_socket;
}
(должно быть:
tcp::socket& getSocket(){
return m_socket;
}
)
Когда в этом файле есть много функций, вы, ребята, можете быстро найти его ??
(ps2: возможно, все эти проблемы вызваны моим опытом программирования pooooooor на C ++ ??)