Czy jest możliwe wzajemne zaprzyjaźnienie funkcji składowych klas? Chodzi mi o coś takiego:
class C1{
public:
friend void C2::g(C1*wsk);
void f(C2*wsk);
}
class C2{
public:
friend void C1::f(C2*wsk);
void g(C1*wsk);
}
Teraz C1::f(C2wsk) jest przyjacielem klasy C2, ale żeby C2::g(C1wsk) była przyjacielem C1, przed definicją C1 powinna być zadeklarowana klasa C2, co jest niemożliwe z uwagi na odniesienia z wnętrza C2 do C1. Czy jest więc możliwość zadeklarowania przed definicją C1 tylko funkcji C2::g(C1*wsk), oczywiście po deklaracji klasy C1?