与Boost.Asio拼死拼搏,我遇到了很多困难。如何找到“boost :: noncopyable”错误?
其中之一是,我很难找到其中“升压::不可复制的错误”是!
如果我意外违反了非拷贝规则,IDE只会在noncopyable.hpp或其他地方显示一些错误,但我的文件中没有任何地方存在。
我只能通过评论找到错误&取消注释无处不在asio对象存在。
(PS:我的IDE是的Visual C++ 2008年,是这个IDE与升压关系不好?)
编辑:
我知道,阅读整个错误信息帮助了很多东西。 但是这个怎么样?
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++编程经验??引起)
阅读整个错误信息通常会帮助那里......阅读James McNellis的答案。编译器通常会提供更好的错误报告,我们会仔细阅读,并且这样做可以多次掩盖实际错误......但这是另一回事。 – 2010-09-21 07:51:12
我承认要问这个问题太抽象了...并编辑它。 – rhapsodyn 2010-09-21 11:53:01