Teniendo las siguientes definiciones
class InstanciaServidor
{
protected:
virtual void OnReceive(char *buffer, int len) = 0;
...
};
template<typename T>
class ServidorBase
{
protected:
InstanciaServidor *instancias[N];
...
virtual DWORD DoWork();
...
}
template <typename T>
DWORD ServidorBase<T>::DoWork()
{
...
instancias[i] = new T;
...
}
Al implementar...
class InstanciaEspecializadaServidor : public InstanciaServidor
{
protected:
void OnReceive(char *buffer, int len);
...
}
class ServidorEspecializado : ServidorBase<InstanciaEspecializadaServidor>
{
...
}
Obtengo el siguiente error:
Error 3 error C2259: ServidorBase' : no se puede crear una instancia de una clase abstract "fichero" "línea"
Donde fichero y línea apuntan a "instancias[i] = new T;", ¿alguna idea?