09/12/2022 - Alexv ha scritto:
Puoi spiegare meglio qual è il problema?
Non ho idea di come impostare il costruttore di MultipleStack , così da creare un'array di pile.
In pratica se utilizzo il costruttore pila<T>::pila(int) nel main (e faccio vari test sulle pile con alcune funzioni della classe pila ) non ho alcun problema.
Ma nel momento in cui creo la classe MultipleStack , ed il suo costruttore MultipleStack<T>::MultipleStack() , per gestire un'array di pile , quando avvio il compilatore mi dice che :
1) Errore C2512 'pila<T>': non è disponibile alcun costruttore predefinito appropriato
2) Errore C2064 Il termine non restituisce una funzione che accetta 1 argomenti
poiché l'avevo pensato così :
template <typename T>
MultipleStack<T>::MultipleStack( int dimStack ,int dimPila)
{
stack = new pila<T>[dimStack]; // l'array stack ha dimensione dimStack , e contiene delle pile , tutte dello stesso tipo
for(int pos = 0; pos < dimStack ; pos++) // qui decido che ogni pila di questo array ha le stesse dimensioni
{
stack[pos](dimPila);
}
}