So habe ich diese Klasse, die einige meiner Objekte enthält, nachdem sie generiert werden. Ich werde Sie durch sie gehen:Zeiger zeigt auf NULL in Vektor
Kerker ein Zeiger auf ein Objekt der Dungeon-Klasse ist, die einige DungeonLayers in einem Vektor namens dungeonLayers hält, die dann einen Vektor von Chambers Name hält (Kerker gefüllt ist)
Als ich diesen Code ausführen:
Game::Game(std::vector<Enemy>* e, Dungeon* d, Hero* h) {
enemies = e;
dungeon = d;
hero = h;
DungeonLayer *currentLayer = dungeon->dungeonLayers.at(0);
Chamber *currentChamber = currentLayer->chambers.at(0);
};
currentLayer und currentChamber beide auf NULL aber die dungeonLayers.at (0) mit einem DungeonLayer in ‚Kerker‘ gefüllt, wenn ich in den Einheimischen am Haltepunkt sehe ich dort setzen. Warum zeigt mein currentLayer auf NULL?
Ich bin neu in C++, deshalb stelle ich diese Frage, ich könnte hier etwas wirklich offensichtlich falsch machen.
Und Sie setzen den Breakpoint nach der Zuweisung ich hoffe? Ein Screenshot von dem, was Sie gerade erleben, wäre hier angebracht. –
Versuch: DungeonLayer * cl = & (Dungeon-> DungeonLayers [0]); – IssamTP
@IssamTP Der Code zeigt uns, dass DungeonLayers bereits ein Vektor ist, der DungeonLayer-Zeiger enthält, ohne dass man die Adresse von ihnen erhalten muss. –