j'ai un petit problème de passage d'argument dans une fonction que je ne comprends pas.
j'ai une classe Csock (pour créer des sockets) qui contient une surcharge du constructeur de la forme
jusque là rien de bien méchant !
Code : Sélectionner tout - Visualiser dans une fenêtre à part Csock(string address, int port,network_type TCPorUDP);
j'ai fais une classe Telnet qui gère une connexion telnet (logique !) qui contient un objet Csock (connexion sur le port 23). Elle a cette forme :
le problème c'est que quand j'essaie de compiler j'ai un problème à la construction de mon objet Telnet :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 class Telnet { public: Telnet(); // contructeur utilisant comme argument par défaut //172.17.0.194:23 pour la connexion telnet Telnet(std::string addr, int port); // contructeur prenant en argument //l'adresse et le port pour la connexion //Telnet ~Telnet(); std::string get_notify_addr(); int get_notify_port(); void set_notify_addr(std::string addr); void set_notify_port(int port); int sender(std::string commande); std::string reception(); private: ... std::string notify_addr; int reader_port; Csock reader; };
alors que mon contructeur ne semble pas avoir de problème :
Code : Sélectionner tout - Visualiser dans une fenêtre à part error: no match for call to `(Csock) (std::string&, int&, network_type)'
si quelqu'un a un idée, parce que là je suis à court, je comprends pas d'où peut venir mon problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Telnet::Telnet() { notify_addr.assign( "172.17.0.194"); notify_port = 23; reader(notify_addr, notify_port, TCP); };
pour info, j'utilise code::blocks sous windows
merci d'avance
Partager