Oppure

Loading
13/10/16 20:06
a_butta
Ciao a tutti.

Ho una pila (stack) costruito attraverso una template class, in particolare nel mio caso:

Stack<Piece*,32>



Piece* è un puntatore ad un oggetto del mio programma. Dunque sto costruendo una PILA di PUNTATORI agli OGGETTI di massimo 32 puntatori.

Ho costruito un array di 64 pile:

Stack<Piece*,32> *array_pila


Ora io ho una funzione in cui voglio passare per valore una delle 64 pile: lo scopo è passare una copia di essa in modo tale da modificarla tranquillamente nella funzione senza distorcere l'originaria. Cercando in internet, la soluzione proposta per il passaggio di una template class:

int isPieceInPossibleStep(Piece *piece, pieceStack &possibleList);


La chiamata a funzione la faccio come:

int stepValid = isPieceInPossibleStep(piece,array_pila[index]);


Ricevo il seguente errore:
error: invalid initialization of reference of type 'Stack<Piece*, 32>&' from expression of type 'Stack<Piece*, 32>*'

Scusate l'ignoranza sul passaggio di puntatori e classi, ma non saprei come risolvere.

Ringrazio anticipatamente.
Ultima modifica effettuata da a_butta 13/10/16 20:07
aaa
13/10/16 20:56
pierotofy
Dereferenzia:

int stepValid = isPieceInPossibleStep(piece,*(array_pila[index]));
Il mio blog: piero.dev
18/10/16 7:13
a_butta
Postato originariamente da pierotofy:

Dereferenzia:

int stepValid = isPieceInPossibleStep(piece,*(array_pila[index]));


Perfetto. Non m'era venuto in mente. Grazie mille!
aaa
18/10/16 13:18
pierotofy
:k:
Il mio blog: piero.dev