Christian Seiler: struct innerhalb einer Klasse

Beitrag lesen

Hallo Andreas,

Wenn mich mein etwas eingerostetes C++ nicht täuscht:

dev.p_device ist ein Pointer auf Dein struct, also müßte (dev.p_device)->name

Die Klammern können hier auch weggelassen werden, was aber noch interessant ist: dev.p_device muss natürlich vorher initialisiert werden. Es wird ja in der Klassendefinition nur der Pointer deklariert, es wird keine Struktur erstellt. Im Konstruktor oder irgendwo sonst, wo's sinnig ist, müsste per new der Speicher alloziert werden. Sonst zeigt (ich kenne die C++-Sprachspezifikation nicht auswendig) der Zeiger entweder auf NULL oder er ist komplett undefiniert (d.h. da könnte alle mögliche unsinnige drinstehen, das komplett zufällig ist).

Viele Grüße,
Christian