Ayuda en c++ builder

Chucky
29 de Diciembre del 2004
Buenas. Me he definido la siguiente plantilla y la siguiente clase (os pongo el .h de ambos). Como podréis ver he definido una cola genérica para utilizarla con cualquier clase T. Mi pregunta es ¿cómo se declara una variable que sea una cola de colas de enteros? Lo intente de la siguiente forma

TColaIterador<TColaIterador<int>> colaDeColas;

pero me da el error 2299 en el C++ builder 5.0 (Cannot generate template specialization from ‘TColaIterador<T>’). Por sirve de algo si tan solo declaro una cola de enteros de la siguiente forma

TColaIterador<int> colaDeEnteros;

funciona perfectamente. Espero que me podáis ayudar. Gracias de ante mano.


template <class T>
class TIterador{

public:
virtual void Principio ();
virtual T Actual ();
virtual void Siguiente();
virtual bool Valido ();

};

template <class T>
class TColaIterador: public TIterador <T>{
private:
struct Elemento {
T elemento;
Elemento *siguiente;
};
Elemento *pPrimero,*pUltimo,*pIterador;
int numElem;
public:
TColaIterador ();
void Principio ();
bool Valido ();
T Actual ();
void Siguiente ();
void Nuevo (T e);
T Primero();
bool esVacia();
void QuitaPrimero ();
T Ultimo();
bool Esta(T e);
int NumeroElementos();
~TColaIterador();
};

LAPLACE
29 de Diciembre del 2004
class Cola
{
private int num;
private Cola * ini,*fin,*Sig;
};

class ColaCola
{
private Cola A
pribate ColaCola *ini,*fin,*sig;
};

ahi tienes un ejemplo de como puedes hacer una cola de cola obviamente debes poner sus metodos agregar,modificar y eliminar que pueden ser los mismo que ya ocupastes