*Markus: (C) seltsamer calloc-Fehler + Pointerfragen

Beitrag lesen

Hallo Christian,

MetaData m1 = (MetaData)malloc(sizeof(MetaData));

Ohne mir das jetzt genauer angesehen zu haben: Die Zeile ist garantiert falsch. Wenn Du etwas mit sizeof(MetaData) allozierst, dann gibt Dir malloc() einen Zeiger auf einen Speicherbereich zurück, der die Größe des Objekts MetaData hat - aber den kannst Du eigentlich nur in einen Zeiger auf MetaData casten und nicht auf MetaData selbst... Und wegen des Casts haut Dir das Dein Compiler natürlich nicht um die Ohren.

Korrekt wäre wohl irgendwie sowas wie:

MetaData *m1 = (MetaData *) malloc (sizeof (MetaData));

danke für den Tipp. Der Hinweis sieht schon mal vielversprechend aus. Ich freue mich darauf, es heute Abend auszuprobieren.

Viele Grüße,
Markus