C++ std::get不是std::fstream的成员

C++ std::get不是std::fstream的成员,c++,filestream,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

因此,我在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是从istream派生的fstream的一个成员,不是吗?

Replace

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


您的编译器在这方面是正确的,它不是fstream的成员,但可以用于fstream,因为它是继承的

std::get
不是成员,如果fstream,
get
是成员。你确定
std::get
是成员而不是
fstream::get
?…为什么要调用
file.ignore()
等而不调用
std:
,并决定只使用
std:
get
一起使用,留下评论,解释应该改进的地方。
file.get(name, 30, ',');