Weiss jemand Rat?
-
Hallo Leser!
Ich habe ein Problem dass ich einfach nicht lösen kann. Nun habe ich auch schon dieses Problem in mein übliches Forum geposted, doch konnte mir dabei bisher leider niemand helfen, ich denke zur Problemlösung brauche ich dann schon den Rat eines C++-Profis, den ich hoffe hier zu finden.Hier die Url zu dem Thread:
http://www.scherfgen-software.net/forum/viewtopic.php?t=1350*Bin verzweifelt, hab schon mehrere Tage erfolglos rumprobiert*
Hoffentlich kann mir hier jemand helfen, dass wäre super.ByeBye
Pirat!
-
Das was Du da postest wird irgendwie nicht deutlich,
zumal es keinen Sinn macht einfach nen link auf das Problem in einem
anderen Forum zu posten!!!struct test { int member; }; int main() { std::map<std::string,test*> mymap; test * temp = new test; temp->member = 12; mymap.insert(std::make_pair("Test",temp)); }
Mal als Minimalbeispiel.
map<char*,...> ist ne doofe Idee, vorallem wenn man mit
make_pair("Test"m...); rann geht.Es wird nur der Zeiger auf den String g espeichert, es werden auch nur die Adressen verglichen....
-
Mir ging es viel mehr um das:
C:\Programme\Microsoft Visual Studio .NET\Vc7\include\utility(41): error C2664: 'CScene::CScene(const CScene &)' : Konvertierung des Parameters 1 von 'CScene *const ' in 'const CScene &' nicht möglich
class testScene : public CScene { ... }; map<char*,CScene*> mySceneMap; CScene* NewScene = new testScene(); //testScene ist abgeleitet von CScene mySceneMap.insert(make_pair("TEST",NewScene));
Bei mySceneMap.insert() bekomm ich dann die obige error message; Ich glaub der Fehler liegt da.
Danke für den Hinweis mit den char*, da ich std::string schon vorher benutzt hatte, werd ichs wieder reinmachen. Leider ist das aber nicht der Fehler.
-
Poste mal bitte den Konstruktor von testScene. Spontan fiele mir jetzt nur ein, daß du die Klammern in dieser Zeile
CScene* NewScene = new testScene(); //testScene ist abgeleitet von CScene
weglassen solltest...
-
Pirat! schrieb:
Mir ging es viel mehr um das:
C:\Programme\Microsoft Visual Studio .NET\Vc7\include\utility(41): error C2664: 'CScene::CScene(const CScene &)' : Konvertierung des Parameters 1 von 'CScene *const ' in 'const CScene &' nicht möglich
class testScene : public CScene { ... }; map<char*,CScene*> mySceneMap; CScene* NewScene = new testScene(); //testScene ist abgeleitet von CScene mySceneMap.insert(make_pair("TEST",NewScene));
Bei mySceneMap.insert() bekomm ich dann die obige error message; Ich glaub der Fehler liegt da.
Danke für den Hinweis mit den char*, da ich std::string schon vorher benutzt hatte, werd ichs wieder reinmachen. Leider ist das aber nicht der Fehler.
Wenn Du immer wieder die gleiche Information hinschreibst wird Dir keiner helfen. Oben steht ein Code der richtig ist an dem Du Dich orientieren kannst.
Wenn das nicht hilft wird eine bessere beschreibung Deines Problemes nötig.
-
Danke Knuddlbaer!!! Du bist
!
-
Hm, haste nu gefunden worans lag ?
-
Nein, aber es funktioniert jetzt mit deinem Code. Ich hab keine Ahnung, was ich von der Logik her falsch gemacht habe, leider. Hab erst deinen Code genommen, dann die Map angepasst und meine Klasse wieder eingesetzt...und TADA! Danke jedenfalls dafür! Du hast mir bei einem Herzstück meines Programms sehr weiter geholfen.