Avec une bataille désespérée avec Boost.Asio, j'ai rencontré beaucoup de difficultés.Comment localiser les erreurs "boost :: non-oculable"?
L'un d'entre eux est que je peux difficilement localiser où les "boost :: erreurs non-jetables" sont !!
Si je viole accidentellement la réglementation non-occlusable, IDE me montre seulement quelques erreurs dans noncopyable.hpp ou ailleurs, mais nulle part dans mes fichiers.
Je peux seulement trouver des erreurs par le commentaire & décommenter partout asio objet existe.
(ps: mon IDE est visual C++ 2008, est-ce IDE a une mauvaise relation avec Boost ??)
EDIT:
Je sais que la lecture du message d'erreur tout aide beaucoup. Mais qu'en est-il de ça?
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> ]
Tout est causé par ce
tcp::socket getSocket(){
return m_socket;
}
(il devrait être:
tcp::socket& getSocket(){
return m_socket;
}
)
Quand il y a beaucoup fonctions dans ce fichier, pouvez-vous les gars le trouver rapidement?
(ps2: peut-être tous ces troubles sont causés par mon pooooooor C++ expérience de programmation ??)
La lecture de l'ensemble du message d'erreur aide généralement là ... lire la réponse de James McNellis.Les compilateurs fournissent généralement beaucoup plus de rapports d'erreurs que nous aimons lire, et ce faisant, plusieurs fois ils peuvent masquer l'erreur réelle ... mais c'est une chose différente. –
J'ai admis à poser la question trop abstrait ... et édité. – rhapsodyn