std :: get不是std :: fstream

时间:2015-04-28 09:52:56

标签: c++ filestream

所以我在g ++中遇到错误,说std :: get不是fstream的成员。特别是当我使用file.get时,它给了我一个错误。

这是给我错误的函数。

 std::fstream& Obj::load(std::fstream& file){

            file.open("123.txt", ios::in);
            char name[30];

            file.std::get(name, 30, ","); //This line gives an error
            name(name);//sets name
            file.ignore();
            //more code for reading in omitted for sake of simplicity

            file.close();
            return file;
    }

这个错误对我来说似乎有些荒谬,因为std :: get是fstream的一个成员,它来源于istream isn&#39t?

1 个答案:

答案 0 :(得分:-1)

替换

 file.std::get(name, 30, ',');

file.get(name, 30, ',');

你的编译器是正确的,std::get不是fstream的成员,但istream::get可用于fstream,因为它是继承的!