// AVANTvoid fonction(std::string returnString = "undefined"){ /* ... */ // Si aucune chaîne à modifier n'a été spécifiée, le résultat est affiché if(returnString == "undefined") { cout << content << endl; } // Sinon, la chaîne est directement modifiée else { returnString = (char *) content; } // Le problème est que returnString est modifié à l'intérieur de la fonction, mais il semblerait // que ça n'influe qu'une copie : dans main(), returnString.size() == 0}// APRESvoid fonction(std::string * returnString = NULL){ /* ... */ // Si aucune chaîne à modifier n'a été spécifiée, le résultat est affiché if(returnString == NULL) { cout << content << endl; } // Sinon, la chaîne est directement modifiée else { * returnString = (char *) content; }}