Salut à tous :D
Je souhaite utiliser dans mon appli la bibliothèque Asio de Boost. J'ai commencé par faire une version "procédurale". Cela fonctionne même si je n'ai pas tout compris :cry:
Je voudrais structurer mon programme pour le rendre "objet".
J'ai déclaré une classe avec les membres privés ci-dessous
et dans le constructeur:Code:
1
2
3
4
5
6
7
8
9
10
11
12private: bsa::io_service& mailbox_io_service; bsa::ip::tcp::socket mailbox_socket; bsa::streambuf response; std::istream response_stream; bsa::streambuf request; std::ostream request_stream; string receive_line;
Code:
1
2
3
4
5
6
7
8 mailbox::mailbox(bsa::io_service& service){ mailbox_io_service = service; mailbox_socket.service = mailbox_io_service; response_stream.init = &response; request_stream.init = &request; }
Seulement VC++ 2008 Express Edition me génère les erreurs suivantes:
1>d:\developpement\c++\monprojet\mailbox.hpp(25) : error C2146: erreur de syntaxe*: absence de ';' avant l'identificateur 'receive_line'
1>d:\developpement\c++\monprojet\mailbox.hpp(25) : error C4430: spécificateur de type manquant - int est pris en compte par défaut. Remarque*: C++ ne prend pas en charge int par défaut
1>d:\developpement\c++\monprojet\mailbox.hpp(25) : error C4430: spécificateur de type manquant - int est pris en compte par défaut. Remarque*: C++ ne prend pas en charge int par défaut
1>d:\developpement\c++\monprojet\main.cpp(10) : error C2512: 'mailbox'*: aucun constructeur par défaut approprié disponible
J'avoue être perdu. Qu'est ce qui ne va pas ?
D'avance merci
Cordialement