Soy un novato en C++. Hoy en día, tengo un problema: en el archivo de cabecera, que definir una clase:Error de C++: No se encontró la declaración del miembro
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);
};
y en el archivo de origen, programo como:
template<class T> Ptr_to_const<T>& Ptr_to_const<T>::operator=(
const Ptr_to_const<T> & p) {
...
return *this;
}
cuando se compila, compilador siempre dicen: 'miembro declaración no encontrada '. ¿por qué?
utilizo Eclipse CDT + Cygwin GCC
muchas gracias!
AFAIK no debería implementar una clase de plantilla en un archivo fuente. Establezca la definición de la función en el encabezado. – Lucian