Salve. 
Ho una classe array scritta in C++ che riutilizzerò in altre classi, ed ho problemi riguardo la dichiarazione del costruttore per copia ottenuto overloaddando l'operatore =.
Vi mostro il codice che è più chiaro di un migliaio di parole:
codice:
template <typename T>
class array
{
private:
unsigned int _length; // Il numero di elementi corrente
unsigned int max; // La grandezza massima dell'array fino ad un determinato momento
T *_array; // Il puntatore
public:
array<T>(unsigned int n);
virtual ~array();
const array& operator=(const array& A); // Costruttore per copia
T& get(unsigned int index); // Restituisce l'i-esimo elemento
void add(T x, int i); // Aggiungi l'elemento x in posizione i
unsigned int length();
T& remove(unsigned int index);
};
[...]
template <typename T> const array& array<T>::operator=(const array& A)
//Questa riga dà l'errore
{
delete[] _array;
_array = A;
return A;
}
E quando compilo mi dà il seguente errore:
codice:
array.h:40: error: expected initializer before '&' token
Dov'è che sbaglio?