2016-03-10 2 views
8

J'ai le problème suivant: J'ai un fichier d'en-tête avec la classe "Connexion" dans l'espace de noms "ns". La classe "Connection" a une fonction appelée "connect", qui utilise en interne la fonction Winsock "connect". Maintenant, quand je veux définir la fonction dans le fichier .cpp, j'obtiens une erreur à cause de mauvais paramètres. Comme il ne veut pas "utiliser" la fonction de connexion de l'API Winsock, juste la fonction membre.Dans la fonction membre, la mauvaise fonction est "exécutée"

se présente comme suit dans le fichier .cpp: (non finale)

bool ns::Connection::connect(char IP[],unsigned short Port) 
{ 
    SOCKADDR_IN server_addr; 
    memset(&server_addr,0,sizeof(SOCKADDR_IN)); 

    server_addr.sin_family = AF_INET; 
    server_addr.sin_port = Port; 
    server_addr.sin_addr.s_addr = inet_addr((const char*)IP); 

    connect(client,&server_addr,0); // here comes the error 
} 

Je vous remercie de votre aide, merci!

Répondre

9

Utilisez l'espace de noms global pour appeler le correct:

::connect(client,&server_addr,0); 
+0

Merci beaucoup servir! –