Map Value zurückgeben
-
Ich habe hier einen Compiler Fehler, den ich absolut nicht raffe. Folgender Code:
std::map<std::string, Entity*> mEntities; std::map<std::string, Camera*> mCameras; // Dieser Code kompiliert: Camera* Foo::getCamera(const std::string& name) const { auto it = mCameras.find(name); return it != mCameras.end() ? it->second : NULL; } // Dieser nicht (falscher Rückgabewert) Entity* Foo::getEntity(const std::string& name) const { auto it = mEntities.find(name); return it != mEntities.end() ? it->second : NULL; }Wieso kompiliert getCamera(), aber getEntity() nicht? Die machen doch exakt das selbe?

-
Wie lautet denn die genaue Fehlermeldung? Ideone sagt, daß beide Funktionen in Ordnung sind.
-
CStoll schrieb:
Wie lautet denn die genaue Fehlermeldung? Ideone sagt, daß beide Funktionen in Ordnung sind.
Danke für die Hilfe! Hab den Fehler gefunden: mEntities speicherte Zeiger auf eine Basisklasse von Entity:/