6

ユーザーが読みたいファイルを要求するプログラムを作成しようとしていますが、その行に「myfile.open(fileName)呼び出しに一致する関数がありません」というエラーが表示std::basic_ifstream<char, std::char_traits<char> >::open(std::string&)'されます。

string filename;
cout<<"Enter name of file: ";
cin>>filename;
ifstream myFile;
myFile.open(filename); //where the error occurs.
myFile.close();
4

1 に答える 1

12

以前のバージョンのC++(C ++ 03)では、最初のパラメーターに。ではなく、open()のみを使用していました。その場合、それを呼び出す正しい方法は次のようになります。const char *std::string

myFile.open(filename.c_str());

ただし、現在のC ++(C ++ 11)では、そのコードは問題ないので、コンパイラーにそのサポートを有効にするように指示できるかどうかを確認してください。

于 2013-03-02T22:00:32.093 に答える