Archiv verlassen und diese Seite im Standarddesign anzeigen : Funktionspointer mit struktur als parameter in struktur?
Linuxhippy
12-04-2009, 15:33
Hi,
Habt ihr eine Idee wie man folgendes Problem einigermaßen elegant lößen könnte:
typedef struct GlyphInfo {
void (* removeCellInfos)(GlyphInfo *);
} GlyphInfo;
Der Compiler kennt GlyphInfo natürlich noch nicht, zum Zeitpunkt wo der Funktionspointer definiert wird :-/
Danke im Voraus
Yonibear
12-04-2009, 15:37
Die struct an sich kennt der Compiler schon, nur das typedef, dass dazu da ist, das struct-Keyword automatisch zu übernehmen aber noch nicht. Wenn du das explizit hinschreibst geht es:
void (* removeCellInfos)(struct GlyphInfo *);
Linuxhippy
12-04-2009, 18:52
Super, danke :)
Auch eine Möglichkeit wäre folgendes:
struct GlyphInfo;
typedef struct GlyphInfo GlyphInfo;
struct GlyphInfo {
void (*removeCellInfos)(GlyphInfo *);
};
Hierbei verwendest du dann tatsächlich das typedef im Parameter, und nicht die struct (ist aber eh äquivalent).
Wobei gcc frisst auch das (beides mit -ansi -pedantic -Wall), weis aber net ob das so standardkonform ist:
typedef struct GlyphInfo GlyphInfo;
struct GlyphInfo {
void (*removeCellInfos)(GlyphInfo *);
};
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.