Keine passende Funktion für ifstream open()
Das Problem tritt im Code-Snippet auf:
std::ifstream file; file.open(name); // the error is here
Dev C stößt auf den Fehler „Keine passende Funktion für Aufruf.“ 'std::basic_ifstream
Lösung:
Um dieses Problem zu beheben, konvertieren Sie std::string mit der Memberfunktion c_str() in einen String im C-Stil:
file.open(name.c_str());
Alternativ Sie kann das ifstream-Objekt direkt mit der Zeichenfolge im C-Stil initialisieren:
std::ifstream file(name.c_str());
Darüber hinaus sollten Sie die Deklaration von loadNumbersFromFile() wie folgt in Betracht ziehen:
std::vector<int> loadNumbersFromFile(const std::string& name)
Diese Änderung zeigt an, dass die Funktion dies nicht tut Ändern Sie sein Argument und verhindern Sie eine unnötige Kopie.
Das obige ist der detaillierte Inhalt vonWarum funktioniert „ifstream::open()' nicht mit „std::string'-Argumenten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!