ContainerDriver
07-08-2004, 21:32
Hi Leute,
ich habe ein kleines Problem: und zwar habe ich eine Funktion, die einen Funktionspointer zurückliefern soll:
char* (*) (char*,char*)bla(void);
. Allerdings ist wohl die Syntax nicht ganz korrekt, denn es geht nicht zu kompilieren:
blablabla: error: parse error before `)' token
. Wie muss die richtige Definition der Funktion bla lauten, damit sie den gewünschten Funktionspointer vom Typ
char* (*) (char*,char*)
zurückgibt (1)?
Ich habe mir vorläufig damit geholfen, dass bla void* zurückliefert und ich später den Rückgabewert zu char*(*)(char*,char*)
konvertiere. Ist das eigentlich schlechter Stil, gehen da irgendwelche Informationen verloren, kann das zu Problemen führen (2)?
Über eine Beantwortung meiner Fragen 1 + 2 würde ich mich sehr freuen,
Gruß, Florian
ich habe ein kleines Problem: und zwar habe ich eine Funktion, die einen Funktionspointer zurückliefern soll:
char* (*) (char*,char*)bla(void);
. Allerdings ist wohl die Syntax nicht ganz korrekt, denn es geht nicht zu kompilieren:
blablabla: error: parse error before `)' token
. Wie muss die richtige Definition der Funktion bla lauten, damit sie den gewünschten Funktionspointer vom Typ
char* (*) (char*,char*)
zurückgibt (1)?
Ich habe mir vorläufig damit geholfen, dass bla void* zurückliefert und ich später den Rückgabewert zu char*(*)(char*,char*)
konvertiere. Ist das eigentlich schlechter Stil, gehen da irgendwelche Informationen verloren, kann das zu Problemen führen (2)?
Über eine Beantwortung meiner Fragen 1 + 2 würde ich mich sehr freuen,
Gruß, Florian