2016-10-19 4 views
1

Ich habe ein Programm, das einen Benutzernamen, und der Lese Benutzername Funktion davon ist das Speichern hält geben diesen Fehler:C++ „Keine überladene Funktion nimmt 0 Argumente“ Fehler

Severity Code Description Project File Line Suppression State Error C2661 'std::basic_ifstream>::open': no overloaded function takes 0 arguments ConsoleApplication3 c:\users\main\documents\visual studio 2015\projects\consoleapplication3\consoleapplication3\consoleapplication3.cpp 25

Ich bin sehr neu in C++ und don verstehe nicht, was dieser Fehler bedeutet, aber ich habe meinen Code hier.

string name2() 
{ 
    string name2; 
    ifstream myfile("Userlog.txt"); 
    myfile.open(); 
    myfile >> name2; 
    myfile.close(); 
    return name2; 
} 
+3

'open()' nimmt mindestens ein Argument (der Dateiname in der Regel), brauchen Sie nicht 'open()' Hier seit Sie einen Dateinamen in den Konstruktor übergeben haben. –

+0

Also nehmen Sie den open() Befehl? –

+0

Ok ja, das hat dank einer Tonne funktioniert Ich bin seit 2 Tagen auf dieser Sache festgefahren und habe gerade an anderen Teilen gearbeitet, also ist es gut, das zu erledigen: D –

Antwort

2
string name2; 
ifstream myfile("Userlog.txt"); // here you are calling open 
myfile.open(); // no version of ifstream. so open what??!!! 

die Linie oben kann übersetzt werden:

ifstream myfile; 
myfile.open("Userlog.txt"); 
myfile >> name2; 
myfile.close(); 
+0

Oh, also muss ich das Keyword ifstream hinzufügen? –

+0

ja es gibt kein Objekt von ifstream in der Datei 'fstream.h' wie' cin' in 'istream'so deklariert man sich selbst – Raindrop7

+0

Ohh ok: D danke, ich habe es jetzt funktioniert –

Verwandte Themen