2016-03-10 29 views
8

Ho il seguente problema: Ho un file di intestazione con la classe "Connessione" nello spazio dei nomi "ns". La classe "Connection" ha una funzione chiamata "connect", che usa internamente la funzione Winsock "connect". Ora, quando voglio definire la funzione nel file .cpp, ottengo un errore a causa di parametri errati. Come se non volesse "usare" la funzione connect di winsock api, solo la funzione membro.Nella funzione membro, la funzione errata viene "eseguita"

appare come questa nel file cpp: (non definitivo)

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 
} 

Apprezzo il vostro aiuto, grazie!

risposta

9

Utilizzare lo spazio dei nomi globale per richiamare quella giusta:

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

La ringrazio molto Servire! –