2016-10-19 61 views
1

我有一個保存用戶名的程序,它的讀取用戶名功能不斷給這個錯誤:C++「沒有重載函數採用0參數」錯誤

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

我很新的C++和唐不明白這個錯誤是什麼意思,但我在這裏有我的代碼。

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

'open()的'至少需要一個參數(文件名通常情況下),你不需要打開'()'因爲你已經傳入了一個文件名到構造函數中。 –

+0

那麼取出open()命令? –

+0

好吧,工作,謝謝一噸我一直堅持這個爲2天,只是在其他部分的工作,所以這是很好的做到這一點:D –

回答

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

上面的線可以翻譯爲:

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

哦,所以我必須添加關鍵字ifstream? –

+0

yes ifstream中沒有ifstream對象,就像'istream'中的'cin'一樣,所以你自己聲明一個 – Raindrop7

+0

Ohh ok:D謝謝,我現在得到了它的工作 –

相關問題