Je voudrais construire un message avec une longueur inconnue ou un nombre d'arguments inconnu. Je pris un modèle simple commeComment mettre différents types de modèles dans un vecteur
template <typename T> class Argument {
public:
int size;
int type;
T data;
};
et avec une certaine surcharge
addMessage (int value) {
Argument<int> *a = new Argument<int>;
vec.push_back(a);
}
(même pour cordes et ainsi de suite) j'essaie de la pousser dans un vecteur. J'ai essayé
std::vector<Argument* > vec;
std::vector<Argument<typename T>* > vec;
std::vector<Argument<>* > vec;
mais rien de tout cela ne semble fonctionner. Y a-t-il un moyen de faire cela? Merci d'avance.
On dirait que j'avais tort quand je pensais que les modèles sont faits pour avoir "tous les types" à portée de main. Comme il n'y a pas de Boost utilisé dans ce projet, je m'en tiendrai à l'héritage. thx – DaClown
'std :: variant' est disponible depuis C++ 17. http://en.cppreference.com/w/cpp/utility/variant – biowep