Ciao ragazzi, mentre sto sviluppando la mia famosa libreria FTP lol mi sono incastrato in questo problema:
codice:
//costruttore
ftpstream::ftpstream()
{
hInternet = NULL;
/*blah blah blah*/
hInternet = InternetOpen(NULL,INTERNET_OPEN_TYPE_DIRECT,NULL,NULL,0);
/*blah blah blah*/
}
//distruttore
ftp::ftpstream::~ftpstream()
{
/*blah blah blah*/
if(hInternet != NULL)
InternetCloseHandle(hInternet);
/*blah blah blah*/
}
Fino a qui tutto bene.
Ora però se io voglio overloaddare l'operatore << scrivere su un file FTP aperto precedentemente, come devo fare??
nel senso, il protipo della funzione lo devo dichiarere così?
ftpstream & operator << (ftpstream&,std::string &);
in teoria si, ma il compilatore mi dice: ERROR! Too many parameter for this operator function -.-
Come devo dichiararlo allora???
e poi, se io voglio evitare che nel ritorno non mi crei un altro oggetto temporaneo (e quindi chiami il costruttore creando un altro HANDLE hInternet, diverso da quello che mi serve), devo usare il Costruttore di Copia?
Mah! Che dite?