|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Jul 2001
Messaggi: 2
|
[c++ AIUTO] PROBLEMA CON FRIEND
INTANTO, ciao a tutti...
sto creando questa classe: class Multimap { private : class ListaKey { public: ListaKey(); ListaKey(const Key&, ListaKey*); Key info; ListaKey* next; }; ListaKey* first; ..... }; nn importa a che serve...il prob e' che se dichiaro questo metodo bool insert (int k, int v) { //tipi da sostituire nel template Multimap::ListaKey* punt=Multimap::first; }; mi dice "Multimap::ListaKey is private within this context" grazie per ogni consiglio... P.S.: penso sia un prob di friend...ma nn riesco a capire.. |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Feb 2005
Città: Prato
Messaggi: 149
|
Ciao,
Non mi sembra si tratti di un metodo... se così è dovresti specificare di quale classe fa parte. Se non è un metodo (come apparentemente sembra) dovrai effettivamente dichiararlo friend per poter utilizzare membri privati della classe in questione... E' comunque una cattiva idea, meglio che la funzione faccia parte della classe... tra l'altro la funzione in questione non pare faccia niente, immagino manchi una parte dell'implementazione... Ciaociao ![]()
__________________
Venite a visitarci qui:http://www.bottomap.com Bottomap is a proud Masterdrive.it moderator |
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
Multimap::first e' dichiarato privato. Non puoi (e non devi) accederlo dall'esterno della classe. Dichiarare un'altra classe friend non e' la soluzione. La soluzione e' scrivere un metodo di accesso al campo first (getFirst()).
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:40.