-3
私は既にこれが重複としてマークされることを知っていますが、私はすでに見つけられたすべての解決策を試しています。エラーメッセージは、入力後に ")"が必要だと私に伝えていますが、読み込み中の情報をバックアップファイルに書き込む必要があります。どんな助けもありがとう。std :: getline(input、d.info)not working
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'を持つことができます。 –