ここでは、私が修正できないエラーを含むコードです。 テキストファイルを開くコードが間違っているようですが、何が間違っているのかを確認しようとしましたが、見つけられませんでした。私はこのコードで動作する同様のプログラムを持っていますが、このコードは動作しません。エラー:ifstream :: open(string)への呼び出しで一致する関数がありません
エラー: への呼び出し 'のstd :: basic_ifstream ::オープン(STD :: __ cxx11 ::文字列&')に該当する機能 FILE.open(ファイル名)< ---
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
#include "nameSort.h"
size_t readNames(string filename, string surnames[], string firstnames[])
{
//initialize size top 0
size_t SIZE = 0;
//open file for input
ifstream FILE;
FILE.open(filename);//(This is where the error is)
//check if file exists
if(!FILE)
{
cout << "Error! No such file!\n";
return 0;
}
else
{
//read file data to arrays
while(!FILE.eof())
{
FILE >> firstnames[SIZE] >> surnames[SIZE];
SIZE++;
}//end while
}//end if
FILE.close();
return size;
}
少なくともC++ 11を有効にしてコンパイルしていますか? –
変数の代わりにテキストファイル名を挿入すると動作しますが、なぜ変数でエラーが発生するのか誰かが知っていますか? –
'FILE.open(filename.c_str());'を試してみましたが、C++ 11を有効にしてください。 – user463035818