Class.h:Zuweisen Artikel des Zeigers in Konstruktor Klasse atribute erstellt
class Main_manager
{
public:
Main_manager();
~Main_manager();
Field_manager* field_manag;
}
}
Klasse contructor:
Main_manager::Main_manager() {
Field_manager* field_manager = new Field_manager;
this->field_manager = field_manager;
}
Ich dachte, dass this-> field_manager = field_manager den Zeiger auf das halten würde just-created field_manager-Objekt als ein Attribut der Main_manager-Klasse, und so wäre ich in der Lage, seine Methoden zu verwenden.
, wenn ich versuche zu nennen
Main_manager::function() {
this->field.manager->function_call();
//trying to call field.manager's method as i should have its pointer
}
Es funktioniert nicht. Die Anwendung bricht aufgrund der Unfähigkeit, den Speicher zu lesen.
this>field.manager = field_manager
funktioniert wahrscheinlich nicht. Nachdem der Konstruktor beendet ist, kann Main_manager
den Speicher für field_manager
nicht lesen. Ich dachte, wenn ich den field_manager
Zeiger als Klassenattribut behalten würde, wäre alles in Ordnung.
Ist 'Field_manager * field_manager = neuer Field_manager;' Ergebnis in eine Ausnahme oder ergibt ein 'nullptr'? –