Salve a tutti ^^
Da qualche giorno mi sono messo a studiare il C++, e ora sono arrivato ai template.
Studiano qui e li, stavo "approfondendo" qui: Link
Allora, nella spiegazione/esercizio viene costruito il seguente template:
Codice PHP:
template < class TInfo >
class TList
{
public:
TList();
~TList();
void Store(TInfo& Object);
/* ... */
private:
class TCell
{
public:
TCell(TInfo& Object, TCell* Next);
~TCell();
TInfo& GetObject();
TCell* GetNextCell();
private:
TInfo& StoredObject;
TCell* NextCell;
};
TCell* FirstCell;
};
codice:
nota:
Non ho ben capito perche' il riferimento a TInfo e' fatto mediante la & :X
O sono io che non ho ben capito cosa indica tale forma in questo contesto,
o ci andrebbe TInfo*... ma vabe', il problema non e' quello...
Vado a costruire i metodi, e riporto solo quello che mi da rogne:
Codice PHP:
template < class TInfo >
TList<TInfo>::TCell* TList < TInfo >::TCell::GetNextCell()
{
return NextCell;
}
Vado a compilare e mi viene fuori:
codice:
C:\...\template.h:46: error: expected constructor, destructor, or type conversion before '*' token
(e' scontato, ma lo dico cmq... la linea 46 e' quella in cui c'e' la testa del metodo)
Ora, per come e' costruita la classe dovrebbe essere tutto ok O.o'
Il tipo di ritorno e': TList <TInfo>::TCell *
O.o no?
Qualcuno , mi saprebbe illuminare pls?
grazie in anticipo