In einem Projekt, an dem ich arbeite, bin ich dabei, einen Vektor mit Zeigern zu einer Vorlagenklasse zu erstellen.C++ std :: Vektor mit Zeigern zu einer Vorlagenklasse
template <typename T>
std::vector<templateClass<T>*> vec;
aber das gibt mir zwei Fehler:
Error C2133: vec : unknown size
Error C2998: std::vector<templateClass<T>*> vec : cannot be a template definition
Wenn ich den Code ändern zu:
std::vector<templateClass<int>*> vec;
Es funktioniert gut, so dass ich denke, das Problem ist nicht, dass Sie Ich kann keine Template-Klassen mit Vektoren verwenden, aber Sie müssen dem Compiler mitteilen, welcher Typ verwendet werden soll. Gibt es einen Weg dazu?
Ist das ein Klassenmitglied oder Sie versuchen, eine Variable mit Vorlage zu deklarieren? –
Sie müssen den Kontext angeben, in dem vec deklariert ist - ist es ein Klassenmitglied oder ein Stapelobjekt? –
Sind Sie sicher, dass Sie nicht einfach einen Typedef verpassen? –