El tema es que antes de "convertir" la clase Vertice a template esto
funcionaba Ok.
¿Debido a que es esto?.

Por otro lado el compilador no dice nada de std::list<Arco> lArcos;

Saludos!

El mar, 16-10-2007 a las 11:53 -0300, personaje escribió:
> On 10/16/07, Javier Persico <[EMAIL PROTECTED]> wrote:
> > Buenos Dias!.
> >
> > Estoy armando un tp en C++ que usa un grafo (la clase Grafo es un
> > template) y que tiene una lista de vertices (la clase Vertice es tambien
> > un template).
> > Cada Vertice tiene un Arco (Arco no es template) y cada arco un puntero
> > a un vertice.
> >
> > Esta es mi clase Vertice:
> >
> > 1 #include "Arco.h"
> > 2
> > 3 class Arco; //fordward declaration
> > 4 template <class tContVertice> class Vertice
> > 5 {
> > 6 private:
> > 7       int idVertice;
> > 8       std::list<Arco> lArcos;
> > 9       tContVertice *tEquipo;
> > 10 public:
> > 11      Vertice(){};
> > 12      void agregarArco(Arco nuevoArco){
> > 13              this->lArcos.push_back(nuevoArco);
> > 14      };
> > 15 };
> >
> > Me devuelve los siguiente errores:
> >
> > linea 9: error: forward declaration of 'struct Arco'
> > linea 12: 'nuevoArco' has incomplete type
> 
> No podés usar una instancia con un forward porque el compilador no
> conoce la clase en ese momento, tenés que usar un puntero o
> referencia... algo así:
> 
>  void agregarArco(Arco &nuevoArco)
> 
> y tampoco te va a compilar:
> 
> std::list<Arco> lArcos;
> 
> Saludos
> 
> _______________________________________________
> Lista de correo Programacion.
> [email protected]
> http://listas.fi.uba.ar/mailman/listinfo/programacion

_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion

Responder a