SegmentFault
-
Hallo Forum,
#define CRASH() *((int *) NULL) = 0Wer kann mir das erklaeren ?!
Unter Linux bekomme ich ein SegmentFault.mfg Olli.
-
*g* du versuchst einen Zeiger auf Null zu dereferenzieren und ihm Null zuzuweisen.
#define NULL 0ist wohl was du wolltest.
-
Bekomme aber ein SegmentFault unter Linux bzw. unter Win32 Access Violation.
Wo ist da der Fehler ?!mfg Olli.
-
daa531 schrieb:
Wo ist da der Fehler ?!
Wie randa schon sagte, du dereferenzierst einen Nullzeiger. Der Name des Makros legt aber nahe, dass dieses Verhalten mehr oder weniger beabsichtigt ist. Was soll denn, deiner Meinung nach, passieren?
-
OK dieses Marco ist nicht von mir, darum auch die frage.
Also ist es gewollt das an dieser stelle das Programm abbricht durch einen
Speicherzugriffsfehler.mfg Olli.
-
Hallo,
der Name CRASH für das Makro war doch überdeutlich, und dann bekommst du noch seg-faults bzw. access violations, du bist also sehr schwer zu überzeugen, wenn du da noch einen Fehler vermutest

MfG