0

我有以下声明:

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++) {}
}

Employee是我自己的一个结构体,employees是Employee在List类中的一个私有向量。编译器给我以下错误:

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

任何想法如何解决它?

4

1 回答 1

0

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

class List{
    ...
    friend ostream& operator<<(ostream&,const List&);
};
于 2012-12-03T06:03:09.403 回答