ヘッダーファイルには次のものがあります:
class Shape_definition {
private:
    // ...
    std::vector<Instruction> items;         
public:
    //...
    friend std::istream& operator >> (std::istream& is, Shape_definition& def); // FRIEND!
};
//-----------------------------------------------------------------------------
std::istream& operator >> (std::istream& is, Shape_definition& def);
//...
定義コード:
std::istream& operator >> (std::istream& is, Bushman::shp::Shape_definition& def){
    //...
    Bushman::shp::Instruction instr = Bushman::shp::Instruction::get_empty();
    while(is >> instr) def.items.push_back(instr); // Problem is here!
    return is;
}
しかし、MS Visual Studio エディターでエラーが発生します。
エラー C2248: 'Bushman::shp::Shape_definition::items': クラス 'Bushman::shp::Shape_definition' で宣言されたプライベート メンバーにアクセスできません
演算子privateでフィールドを使用できないのはなぜですか?friend
ありがとうございました。