2016-10-19 13 views
1

私は、ユーザー名を保存しているプログラムを持って、そしてそれを読み込み、ユーザー名の関数がこのエラーを与え続けて「いいえオーバーロードされた関数が0の引数取り」:C++エラー

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

( 'オープン)'少なくとも一つの引数(通常はファイル名)を取り、あなたは( 'オープンする必要はありません)'ここではファイル名をコンストラクタに渡しているからです。 –

+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のオブジェクトが存在しない '使用すると、1つ自分 – Raindrop7

+0

おおOK宣言istream'so'でcin' 'のようにfstream.h':受け入れられたとしてDのおかげで、私はそれがB.Duttonマーク@今 –