Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/09/2010, 22:00
fightmx
 
Fecha de Ingreso: febrero-2003
Ubicación: D.F.
Mensajes: 163
Antigüedad: 21 años, 2 meses
Puntos: 22
Respuesta: Duda sobre plantillas

Recuerda que estás definiendo Gen como template, para que funcione el mecanismo debes indicarlo al compilador, por ejemplo:

Código:
typedef vector<Gen> Chain;
Es incorrecto, ¿Cómo sabe el compilador con que tipo de dato crear un Gen?.

Algo correcto sería:
Código:
typedef vector<Gen<int> > Chain; // value es un int
Lo siguiente debe de compilar:
Código C++:
Ver original
  1. #include <string>
  2. #include <vector>
  3.  
  4. template <typename General>
  5.  
  6. struct Gen {
  7.     std::string name;
  8.     General value;
  9. };
  10.  
  11. typedef std::vector<Gen<int> > Chain;
  12.  
  13.  
  14. class Genoma {
  15. protected:
  16.     Chain genotype[2];
  17.  
  18. public:
  19.     Genoma(){};
  20. };
  21.  
  22. int main(){
  23.     Genoma gen;
  24.     return 0;
  25. }