-3
我已经知道这将被标记为重复,但我已经尝试了每个可以找到的解决方案,然后尝试了我自己的解决方案,但都没有解决。错误消息告诉我它在输入后需要一个“)”,但我需要它将正在读取的信息写入备份文件。任何帮助,将不胜感激。std :: getline(input,d.info)不起作用
class Data{
public:
const unsigned static int MAXIMUM_DATA = 4100u;
const static int x = 0;
string userName[MAXIMUM_DATA] = {};
string nickName[MAXIMUM_DATA] = {};
string role[MAXIMUM_DATA] = {};
string fName[MAXIMUM_DATA] = {};
string lName[MAXIMUM_DATA] = {};
string email[MAXIMUM_DATA] = {};
friend std::istream& operator>>(std::istream& input, Data& d);
};
std::istream& operator>>(std::istream& input, Data& d){
std::istream& getline(input, d.userName);
std::istream& getline(input, d.role);
std::istream& getline(input, d.fName);
std::istream& getline(input, d.lName);
std::istream& getline(input, d.nickName);
std::istream& getline(input, d.email);
return input;
}
Data d;
while(myfile >> d){
database.push_back(d);
}
getline(input,d.userName);'前面的std :: istream&'是什么? – user463035818
所有的成员变量都是MAXIMUM_DATA字符串的*数组*。它们不是'MAXIMUM_DATA'字符串。并且你不真的*调用* getline,它看起来更像你声明它,用'std :: istream&'作为返回类型。你“声明”这个函数的方式是无效的,导致你的构建错误。也许你需要[找几本好书籍阅读](http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list)? –
您可能需要将数组转换为单个变量,然后有'Data'的'std :: vector'。 –