PDA

Visualizza la versione completa : Dichiarazione funzione membro C++


Kreator
21-09-2004, 19:28
Ciao raga.

Ho il seguente problema.
Come linguaggio uso il Borland C++ Builder 5 ed ho il seguente problema.

Ho una classe che si chiama <TPortSection>
questa classe all'interno di essa nella sezione privata questo membro:

...
...
TPortSection *AnchorTopPort;
...
...
...

Nella sezione public per rendere manipolabile questo puntatore all'esterno del package sono andato a dichiarare 2 funzioni membro.

void __fastcall SetAnchorTopPort (TPortSection *AValue);
TPortSection __fastcall GetAnchorTopPort ();

Il problema e' proprio in questa seconda funzione membro.
Il compilatore mi restituisce l'errore:
--> VCL Style classes must be constructed using operator new

La variabile la ho gia inizializzata nel costruttore della classe con la (new ..).
Secondo me il problema potrebbe essere che la funzione deve ritornare un puntatore, e quindi in quella dichiarazione e nell'intestazione dell'implementazione ci manca qualcosa.

Quando vado ad implementarla scrivo:

TPortSection __fastcall TPortSection::GetAnchorTopPort ()
{

}

Vi prego aiutatemi !!

:dh˛: :dh˛: :dh˛: :dh˛:

anx721
21-09-2004, 22:49
peri ritornare il puntatore usa

TPortSection* __fastcall GetAnchorTopPort ();

e ritorni AnchorTopPort oppure ritorna un reference:

TPortSection& __fastcall GetAnchorTopPort ();

e ritorni *AnchorTopPort

Kreator
22-09-2004, 08:51
Grande
E' questo che volevo sapere.
Ho provato e funziona benissimo.
Grazie mille.
Ciaoo

:unz:

Loading