0

私のクラス定義では、次のフレンド関数があります。

      friend  ostream& operator << (ostream& out, const Person& p1);

      friend istream& operator >> (ostream& out Person& p1);

私の実装ファイルでは:

       ostream& operator << (ostream& out, const Person& p1)
      {
       out<< p1.age; //this is a private variable
      }

      istream& operator << (istream& in, Person& p1)
      {
       in >> p1.age; //this is a private variable
      }

しかし、これをコンパイルすると、「ostream」がタイプフレンドの名前を付けていないというエラーが表示されます ostream& operator(ostream& out, const Person& p1).. istream についても同じです。これらはフレンド関数であるため、プライベート変数、つまり年齢にアクセスできますが、問題は何ですか?

4

1 に答える 1