C++ 无法在文件迭代器类中打开文件

C++ 无法在文件迭代器类中打开文件,c++,class,C++,Class,我的任务是创建一个文件迭代器。我尝试在类构造函数中打开一个文件,如下所示: int main () { FileIterator file("test_int.txt");//try to send a name of file to the class FileIterator return 0; } 我的班级是: class FileIterator { private: std::string name; std::ifstream file; pub

我的任务是创建一个文件迭代器。我尝试在类构造函数中打开一个文件,如下所示:

int main () {
    FileIterator file("test_int.txt");//try to send a name of file to the class FileIterator

    return 0;
}
我的班级是:

class  FileIterator {
private:
    std::string name;
    std::ifstream file;
public:
    FileIterator(const std::string& name): name(name) {
    file.open(name);\\I think here is an error
}
    ~FileIterator(){
    file.close();
}
};
编译器不编译它,并且为调用'std::basic\u ifstream::openconst std::string&,const std::ios\u base::openmode&'提供了一个不匹配函数的错误。
请帮忙。我只是在学习类…

你是否包含和?你需要在编译器中激活C++11模式,或者使用file.openname.C_str,请看n.m-你是对的,我认为mingw支持C++11already@user3402740出于向后兼容性的原因,默认情况下未启用C++11,您必须将-std=C++11添加到CXXFLAGS。