Mam 2 klasy, jedna specjalizowana. W klasie specjalizowanej Class_second chciałbym użyć pola prywatnego server z klasy Class_first natomiast otrzymuję :
error : ‘Class_second’ was not declared in this scope
pomimo iż załączyłem odpowiednie nagłówki. Nie chcę tworzyć nowego obiektu, tylko uzyskać dostęp do pola klasy już istniejącego obiektu.
class Class_first {
friend class Class_second<Message>;
Class_first() : server(create_conn(ip, port){
}
...
private:
unique_ptr<Server> server;
};
Jako, że jest to wskaźnik to próbuję uzyskać dostęp w sposób przedstawiony poniżej.
template<>
class Class_second<Message> {
public:
void foo(Message) {
Class_first.server.get();
...
}
};