Sono un novizio C++. Oggi, ho un problema: nel file di intestazione, ho definire una classe:Errore C++: dichiarazione membro non trovata
template<class T> class Ptr_to_const {
private:
Array_Data<T>* ap;
unsigned sub;
public:
...
Ptr_to_const<T> & operator=(const Ptr_to_const<T> & p);
};
e nel file sorgente, programmo come:
template<class T> Ptr_to_const<T>& Ptr_to_const<T>::operator=(
const Ptr_to_const<T> & p) {
...
return *this;
}
quando compilato, il compilatore dicono sempre: 'Stati dichiarazione non trovata '. perché?
Io uso Eclipse CDT + Cygwin GCC
vi ringrazio molto!
AFAIK non si deve implementare una classe template in un file sorgente. Imposta la definizione della funzione nell'intestazione. – Lucian