Me gustaría construir un mensaje con longitud desconocida o número de argumentos. Tomé una plantilla simple comoCómo poner diferentes tipos de plantilla en un vector
template <typename T> class Argument {
public:
int size;
int type;
T data;
};
y con un poco sobrecargado
addMessage (int value) {
Argument<int> *a = new Argument<int>;
vec.push_back(a);
}
(igual para cuerda y así sucesivamente) que tratan de empujar todo en un vector. Intenté
std::vector<Argument* > vec;
std::vector<Argument<typename T>* > vec;
std::vector<Argument<>* > vec;
pero nada de esto parece funcionar. ¿Hay alguna forma de hacer esto? Gracias por adelantado.
Parece que estaba equivocado cuando pensé que las plantillas están hechas para tener "todos los tipos" a mano. Como no se usa Boost en este proyecto, me quedaré con la herencia. thx – DaClown
'std :: variant' está disponible desde C++ 17. http://en.cppreference.com/w/cpp/utility/variant – biowep