Hola,
   
  Estoy obteniendo un error bajo Visual c++ 6 al intentar implementar 2 
templates que se usan entre si. El error lo pude aislar en un ejemplito simple 
que muestro a continuacion:
   
  MiTemplate.h:
  ==========
   
  #ifndef MITEMPLATE_H_
#define MITEMPLATE_H_
  #include "MiOtraTemplate.h"
  template<class MiClase> class MiTemplate {
   public:
  void probarUsoTemplate() {
   MiClase *clase = new MiClase();
   clase->mostrarMensaje();
   delete clase;
  }
    MiOtraTemplate<MiClase>* hacerAlgoConOtraTemplate() {
   return new MiOtraTemplate<MiClase>;
  }
  };
  #endif
   
  MiOtraTemplate.h:
  ==============
   
  #ifndef MIOTRATEMPLATE_H_
#define MIOTRATEMPLATE_H_
  #include "MiTemplate.h"
  template<class MiClase> class MiOtraTemplate {
   private:
  MiTemplate<MiClase> atributo;
  };
  #endif
   
  Alguien tiene idea de como puedo solucionar este tema?
   
  El error que me reporta el Visual es el siguiente:
   
  
f:\materiasactuales\datos07\trabajospracticos\tp1\pruebatemplates\pruebatemplates\miotratemplate.h(9)
 : error C2143: syntax error : missing ';' before '<'
        
f:\materiasactuales\datos07\trabajospracticos\tp1\pruebatemplates\pruebatemplates\miotratemplate.h(11)
 : see reference to class template instantiation 'MiOtraTemplate<MiClase>' 
being compiled
f:\materiasactuales\datos07\trabajospracticos\tp1\pruebatemplates\pruebatemplates\miotratemplate.h(9)
 : error C2501: 'MiTemplate' : missing storage-class or type specifiers
        
f:\materiasactuales\datos07\trabajospracticos\tp1\pruebatemplates\pruebatemplates\miotratemplate.h(11)
 : see reference to class template instantiation 'MiOtraTemplate<MiClase>' 
being compiled
f:\materiasactuales\datos07\trabajospracticos\tp1\pruebatemplates\pruebatemplates\miotratemplate.h(9)
 : error C2059: syntax error : '<'
        
f:\materiasactuales\datos07\trabajospracticos\tp1\pruebatemplates\pruebatemplates\miotratemplate.h(11)
 : see reference to class template instantiation 'MiOtraTemplate<MiClase>' 
being compiled
f:\materiasactuales\datos07\trabajospracticos\tp1\pruebatemplates\pruebatemplates\miotratemplate.h(9)
 : error C2238: unexpected token(s) preceding ';'
        
f:\materiasactuales\datos07\trabajospracticos\tp1\pruebatemplates\pruebatemplates\miotratemplate.h(11)
 : see reference to class template instantiation 'MiOtraTemplate<MiClase>' 
being compiled
Generating Code...
Error executing cl.exe.
  PruebaTemplates.exe - 4 error(s), 0 warning(s)
   
  Gracias,
   
  Martin

       
---------------------------------
 Preguntá. Respondé. Descubrí.
 Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
 ¡Probalo ya! 
_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion

Responder a