Besoin d'aide pour corriger mon code, je ne sais pas quel est le problème. J'utilise C++ 11, en essayant d'écrire un vecteur dans un fichier en écrivant individuellement chaque structure. La section du code de retour est une erreur:d'erreur retournant "Aucune fonction correspondante pour appeler std :: basic_ofstream <char> :: close (const char [14])"
string craigSave = "craigSave.txt";
ofstream file(craigSave.c_str());
file.open("craigSave.txt");
for (int i=0; i<finalVector.size(); i++){
file << finalVector[i]<<endl;
}
file.close("craigSave.txt");
cout<<"Thanks for shopping!"<<endl;
done = true;
L'erreur renvoyée est sur la ligne « file.close » et est:
error: no matching function for call to 'std::basic_ofstream::close(const char [14])'
je recherche sur cette erreur semble indiquer avoir besoin d'utiliser char * en tant qu'argument au lieu d'une chaîne, mais j'utilise C++ 11, donc il devrait accepter les chaînes. Aussi il est étrange qu'il n'y ait pas d'erreur pour la ligne file.open, comme toute recherche montre l'erreur étant là, pas à file.close
'close' ne prend aucun paramètre. Où faites-vous vos recherches? (Où que ce soit, rendez-vous [ici] (http://en.cppreference.com/w/) à la place.) – molbdnilo
Le constructeur a ouvert le fichier. L'appel de 'file.open()' n'est pas nécessaire. Le destructeur fermera le fichier. l'appel de 'file.close()' n'est pas nécessaire. –