Ich möchte eine Nachricht mit unbekannter Länge oder Anzahl von Argumenten konstruieren. Ich nahm eine einfache Vorlage wieWie man verschiedene Template-Typen in einen Vektor einfügt
template <typename T> class Argument {
public:
int size;
int type;
T data;
};
und mit einigen überlastet
addMessage (int value) {
Argument<int> *a = new Argument<int>;
vec.push_back(a);
}
(gleiche für Streich- und so weiter) Ich versuche, alles in einen Vektor zu schieben. Ich versuchte
std::vector<Argument* > vec;
std::vector<Argument<typename T>* > vec;
std::vector<Argument<>* > vec;
, aber nichts davon scheint zu arbeiten. Gibt es eine Möglichkeit, dies zu tun? Danke im Voraus.
Sieht so aus, als hätte ich mich geirrt, als ich dachte, Vorlagen würden "alle Typen" zur Hand haben. Da in diesem Projekt kein Boost verwendet wird, bleibe ich bei der Vererbung. thx – DaClown
'std :: variant' ist seit C++ 17 verfügbar. http://en.cppreference.com/w/cpp/utility/variant – biowep