13/10/16 20:06
a_butta
Ciao a tutti.
Ho una pila (stack) costruito attraverso una template class, in particolare nel mio caso:
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:
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:
La chiamata a funzione la faccio come:
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.
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