使用矢量時沒有操作員錯誤我創建了一個for循環輸出輸入學生的信息,但是當我打印出來使用cout << st.printInfo() << endl;
,我no operator "<<" matches these operants
與
Student類:
class Student {
private:
string nameSurname;
int score;
public:
void printInfo();
void setName(string _nameSurname) { nameSurname = _nameSurname; }
void setScore(int _score) { score = _score; }
Student() {
nameSurname = "Not Entered";
score = 0;
}
~Student() {}
};
功能打印:
void Student::printInfo()
{
cout << "-----------------" << endl;
cout << "Name and Surname : " << nameSurname << endl;
cout << "Score : " << score << endl;
cout << "-----------------" << endl;
}
主要功能:
vector<Student> v;
string nameSurname;
int score;
Student st;
for (int i = 0; i < v.size() + 1; i++)
{
cout << "Enter " << i + 1 << " Student Name and Surname : " << endl;
cin.ignore();
getline(cin, nameSurname);
st.setName(nameSurname);
cout << "Enter Student's Score : " << endl;
cin >> score;
st.setScore(score);
v.push_back(st);
}
錯誤被顯示在內部for循環部分下面。該循環也是主要功能。
for (int i = 0; i < v.size(); i++)
{
cout << st.printInfo() << endl;
}
它沒有找到'運營商<<'和操作符不存在確實如此。奇怪。 – skypjack
@skypjack:提示:在應用到'cout'之前評估'st.printInfo()'。 –
哦,我的錯,沒有看到他在使用'printInfo'。抱歉。 :-) – skypjack