私の質問はとても簡単です。フレンド機能について学んでいるのですが、これがなぜかうまくいきません。画面クラスを Window_Mgr クラスと交換してから、画面クラスの前方宣言を追加した場合にのみ言葉になります。その時点で「Relocate」の存在を画面が認識していないので動作しないのでしょうか?
class Window_Mgr;
class screen
{
public:
typedef string::size_type index;
friend Window_Mgr& Window_Mgr::relocate(int, int, screen&);
private:
int width, height;
};
class Window_Mgr
{
public:
Window_Mgr& relocate(int r, int c, screen& s);
private:
};
Window_Mgr& Window_Mgr::relocate(int r, int c, screen& s)
{
s.height=10;
s.width=10;
};
int main(int argc, char* argv[])
{
system("pause");
}