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#include <string>
#include <vector>
template <typename General>
struct Gen {
std::string name;
General value;
};
typedef std::vector<Gen<int> > Chain;
class Genoma {
protected:
Chain genotype[2];
public:
Genoma(){};
};
int main(){
Genoma gen;
return 0;
}