【发布时间】:2018-10-23 16:25:53
【问题描述】:
我已经看到了像这样的另一个问题的解决方案,但它对我一点帮助都没有。上线了
studMap[getName()].push_back(getGrade());
我收到以下错误:
非静态成员引用必须相对于特定对象。
这是我的代码:
class CStudent :public CPerson {
protected: CPerson::name;
protected: CPerson::EGN;
protected: string specialty;
public: CStudent(string n, string E, string s) {
setName(n);
setEgn(E);
setSpecialty(s);
}
string getName() {
return name;
}
};
class CSubject:public CStudent{
protected: string subj;
protected: int grade;
void setSubj(string s) {
subj = s;
}
void setGrade(int g) {
grade = g;
}
int getGrade() {
return grade;
}
std::map<CStudent, std::list<int> > studMap;
studMap[getName()].push_back(getGrade());
};
如何将我的值从方法传递到地图而不会出现此错误,它来自哪里?
【问题讨论】:
-
该行必须在函数内部。
-
为了能够为您的问题提出解决方案,请说明该行应该实现的目标。
标签: c++