[gelöst] Template-Klassen in vector
Verfasst: 22.05.2009, 17:10
Hi,
Ich versuche verschiedene Template-Klassen als Pointer in einem Vector zu speichern, leider meckert der Compiler, dass er nicht ordentlich casten kann, gibts da einen Trick, den ich noch nicht rausgefunden habe?
Hier mal ein Code als Beispiel:
Er meckert dann bei dem push_back, dass er "A<T>*" nicht zu "A *const &" (wie kommt er denn darauf?) casten kann. Eigentlich sollte das doch kein Problem sein, schließlich will ich nur den Pointer speichern, nicht die Klasse selbst, oder?
Wäre über Tipps sehr dankbar.
Dirk Schulz
Ich versuche verschiedene Template-Klassen als Pointer in einem Vector zu speichern, leider meckert der Compiler, dass er nicht ordentlich casten kann, gibts da einen Trick, den ich noch nicht rausgefunden habe?
Hier mal ein Code als Beispiel:
Code: Alles auswählen
template <class T>
class A
{
T var;
};
class B
{
private:
std::vector<A *> a_vector;
public:
template <class T>
A<T>* getA() {
A<T>* newa = new A<T>();
a_vector.push_back(newa);
return newa;
}
};
Wäre über Tipps sehr dankbar.
Dirk Schulz