该类的友元函数无法访问其私有向量;

时间:2012-12-03 04:29:25

标签: c++ private friend

我有以下声明:

friend ostream& operator<<(ostream&,const List&);

我有以下定义:

ostream& operator<<(ostream& out,const List& item) {
    vector<List::Employee>::const_iterator It;
    for (It=item.employees.begin();It!=item.employees.end();It++) {}
}

员工是我自己的结构,员工是班级列表中员工的私人载体。编译器给出了以下错误:

std::vector<List::Employee,std::allocator<List::Employee>> List::employees is private

任何想法如何解决?

1 个答案:

答案 0 :(得分:0)

友元声明应该在List类定义中。

class List{
    ...
    friend ostream& operator<<(ostream&,const List&);
};