我正在尝试读取文件并将其存储在数组中。
这是我用来打开文件的代码的一部分:
int readFile(AccessRecord & file, Files & namesIn)
{
std::ifstream fin(file.fileName);
if (fin.fail())
return -1;
}
这是我在编译时遇到的新错误:
[meg21allred@LinuxLab08 ~]$ g++ myAssign02.cpp
myAssign02.cpp: In function ‘int readFile(AccessRecord&, Files&)’:
myAssign02.cpp:72:35: error: no matching function for call to
‘std::basic_ifstream<char>::basic_ifstream(std::string&)’
std::ifstream fin(file.fileName);
如果我只是使用std::cout << file.fileName;
,它似乎可以打印出正确的文件名,但是当我将file.fileName
放入ifstream line
答案 0 :(得分:1)
您似乎正在使用一个非常旧的编译器,该编译器尚不支持采用ifstream
的{{1}}构造函数,该构造函数已于2011年添加到C ++标准库中。使用了string
(老式的C风格的字符串),因此请尝试:
const char*