> > 8       std::list<Arco> lArcos;
> > linea 9: error: forward declaration of 'struct Arco'
> > linea 12: 'nuevoArco' has incomplete type

Me parce que dentro de un template tenes que poner:
    typename std::list<Arco> lArcos; 
en vez de:
    std::list<Arco> lArcos;


----- Mensaje original ----
De: Javier Persico <[EMAIL PROTECTED]>
Para: Una lista para consultas de programación <[email protected]>
Enviado: martes 16 de octubre de 2007, 12:08:42
Asunto: Re: [Prog] Problema Templates + Forward Declaration

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







      Los referentes más importantes en compra/ venta de autos se juntaron:
Demotores y Yahoo!
Ahora comprar o vender tu auto es más fácil. Vistá ar.autos.yahoo.com/
_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion

Responder a