我有两种语法?即使项目成功构建,也会出现错误。在我评论过的以下位置中,我的代码的某些部分在Visual Studio中突出显示为红色:
#include <vector>
#include <string>
#include <iostream>
#include <ifstream> //include is highlighted// Error: cannot open source file "ifstream"
using namespace std;
class DictionarySorter{
public:
DictionarySorter(){
}
void readDic(string name){
ifstream dicFile (name); //dicFile is highlighted here// Error: incomplete type is not allowed
}
private:
vector<string> v;
};
答案 0 :(得分:7)
<fstream>
中定义了 std::ifstream
。没有标准标题<ifstream>
。
答案 1 :(得分:1)
C ++ ifstream
将c-string
作为打开文件名的参数。只需将name
中的ifstream dicFile(name);
更改为ifstream dicFile(name.c_str());
您还包括一个名为ifstream
的库,该库不存在。 ifstream
对象位于fstream
库中。