C++ std::get不是std::fstream的成员
因此,我在g++中得到一个错误,它说std::get不是fstream的成员。它给了我一个错误,尤其是当我使用file.get时 这就是给出错误的函数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
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, ',');