Ich versuche, eine Callback-Routine in C++ zu erklären, wie folgt:Was bedeutet der Fehler "unvollständiger Typ ist nicht erlaubt"?
void register_rename (int (*function) (const char *current, const char *new));
/*------------------------------------------------------------*/
/* WHEN: The callback is called once each time a file is received and
* accepted. (Renames the temporary file to its permanent name)
* WHAT: Renames a file from the given current name to the specified new name.
*/
, erhalte ich die folgende Fehlermeldung jedoch:
line 204: error #70:
incomplete type is not allowed
void register_rename (int (*function) (const char *current, const char *new));
Ich bin nicht sicher, wie dies zu korrigieren. Ich habe andere ähnliche Callback-Routinen in der gleichen Header-Datei deklariert, und ich bekomme diesen Fehler nicht.
Bitte helfen! :)
Syntax-Hervorhebung gibt einen nützlichen Hinweis hier ... – ephemient
Sie auch diese leichter finden können, wenn Sie typedef die codieren Funktionszeiger: 'typedef int (* fn) (const char *, const char * newStr); void register_rename (fn); ' –
Außerdem ist' void register_rename (int (*) (const char *, const char *)); 'ein äquivalenter Prototyp; Die Namen sind nicht notwendig. – ephemient