problem mit list<>
-
hallo,
ich versuche mich das erste mal an einer verketteten liste und das ganze zeug mit templates.
habe folgende klassendef ( ohne die elementfunktionen )
#include <iostream> #include <string> using namespace std; class Fahrzeuge { public: Fahrzeuge(); ~Fahrzeuge(void); [... restlichen elementfunktionen, reine zuweisungen] };
int main() { Fahrzeuge *car = NULL; list<Fahrzeuge> kfz; kfz.push_back(car); };
bekomme folgende fehlermeldung:
error C2664: 'std::list<_Ty>::push_back': Konvertierung des Parameters 1 von 'Fahrzeuge *' in 'const Fahrzeuge &' nicht möglich
with
[
_Ty=Fahrzeuge
]
Ursache: Konvertierung von 'Fahrzeuge *' in 'const Fahrzeuge' nicht möglich
Quelltyp konnte von keinem Konstruktor angenommen werden, oder die Überladungsauflösung des Konstruktors ist mehrdeutigkann mit dieser fehlermeldung leider nicht all zu viel anfangen...
jetzt rein vom syntaktikschen ansatz, was ist falsch?danke schon im voraus und gruß
-
int main() { Fahrzeuge *car = NULL; list<Fahrzeuge*> kfz; // <--- Stern* vergessen kfz.push_back(car); };
Du willst eine Liste von Zeigern, also musst Du sie so deklarieren.
-
ach immer diese leichtsinnfehler
trotzdem vielen dank, war schon am verzweifeln...