Stavo cercando di fare una classe template per la gestione di matrici e sono inceppato in questo problema.
Il codice è questo:
codice:
matrix<class Type>::matrix()
{
// Inizializza il numero massimo di dimensioni
maxdim = 30;
// Parte con una sola dimensione
dimnum = 1;
// Alloca la memoria per contenere il numero di elementi
// delle varie dimensioni
dimensioni = new int[maxdim];
// La prima dimensione ha un elemento
dimensioni[0] = 1;
// Alloca lo spazio per i dati
dati = new Type [totelem()];
}
Ed il compilatore sulla riga incriminata mi segna:
error C2512: 'Type' : no appropriate default constructor available
la funzione totelem() restituisce un intero che specifica il numero totale degli elementi della matrice.
dati è un puntatore al tipo template "Type"
Come faccio allora ad allocare lo spazio per n elementi di tipo Type?