PDA

View Full Version : [C++] return NULL == return string ???


trallallero
08-12-2008, 11:26
Ho fatto questa funzione ma toppando, non volevo ritornare un oggetto string (dannato copia incolla :D).

Perņ il g++ non mi da errore :mbe:

Che senso ha tornare un NULL quando la funzione dovrebbe tornare un oggetto ?
non dovrebbe essere un errore (e pure brutto) ?

string LLConfigFile::SearchLine(const string& sSearch)
{
...
return NULL;
}

fero86
08-12-2008, 12:08
stai implicitamente invocando un costruttore di string, quello che vuole un argomento di tipo puntatore; trattasi del costruttore che prende un puntatore a char, lo legge come stringa null-terminated e costruisce l'oggetto relativo.

la documentazione del costruttore dice che quella versione del costruttore non accetta NULL, quindi a runtime dovresti ottenere qualche errore.

trallallero
08-12-2008, 12:17
Dici che secondo "lui" io sto facendo un string(NULL) ?

Boh, io lo segnalerei come errore piuttosto che implicitamente invocare ...

fero86
08-12-2008, 12:22
Dici che secondo "lui" io sto facendo un string(NULL) ? dico proprio di si...


Boh, io lo segnalerei come errore piuttosto che implicitamente invocare ... allora segnalalo agli autori dello standard ISO/IEC e digli che le specifiche del C++ che si sono inventati sono sbagliate :D

trallallero
08-12-2008, 12:31
allora segnalalo agli autori dello standard ISO/IEC e digli che le specifiche del C++ che si sono inventati sono sbagliate :D

Beh, a me non piacciono :D