gpt4 book ai didi

c++ - 'ifstream' 的初始化没有匹配的构造函数

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:05:29 26 4
gpt4 key购买 nike

我在以下代码中遇到错误,它在 visual studio 中运行良好,但是一旦我将其移至使用 gcc 编译的 Xcode 时出现此错误 No matching constructor for initialisation of 'ifstream' 我已经考虑添加这是一个引用,而不是本网站上建议的拷贝,但它仍然出现错误。

void getAndSetTextData::GetBannedList(string fileName)
{
bannedWordCount = 0;
ifstream inFile(fileName);
while(inFile >> currentWord)
{
bannedWords.push_back(currentWord);
bannedWords[bannedWordCount++] = currentWord;
}
inFile.close();
}

如有任何帮助,我们将不胜感激。

最佳答案

ifstream构造函数接受 const char* 作为文件名(C++11 之前的版本):

ifstream inFile(fileName.c_str());

在 C++11 中添加了一个额外的构造函数,它接受 const std::string& 作为文件名。

要点:考虑将参数 string fileName 更改为 const string& fileName 以避免不必要的 fileName 复制。

关于c++ - 'ifstream' 的初始化没有匹配的构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9608786/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com