Компилятор бросает: «Недействительное использование нестатического элемента« это », почему это? Наследование верное, но я не понимаю, почему он не позволяет мне использовать его, и allInfo вектор.Ошибка: недопустимое использование нестатического элемента
class JSON{
private:
vector<myType> allInfo;
public:
friend ostream &operator<<(ostream &os,const JSON &js)
{
vector<myType>::iterator it;
it = this->allInfo.begin();
for(it; it != allInfo.end();it++){
cout << "this is the info "<<(it->getNAME()) << endl;
}
return os;
};
};
Вы хотите 'js.allInfo' (и' const_iterator'). 'operator <<' здесь не является членом 'JSON'; для доступа к членам 'JSON' вам нужно указать объект, из которого вы хотите его получить. К счастью, один из них легко передается в качестве параметра. –