Próbuję zadeklarować procedurę oddzwaniania w C++ następująco:Co oznacza błąd "niekompletny typ nie jest dozwolony"?
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.
*/
Jednak pojawia się następujący błąd:
line 204: error #70:
incomplete type is not allowed
void register_rename (int (*function) (const char *current, const char *new));
Nie jestem pewien, jak to poprawić. Mam inne podobne procedury wywołania zwrotnego zadeklarowane w tym samym pliku nagłówkowym i nie otrzymuję tego błędu.
Proszę pomóc! :)
Podświetlanie składni daje użyteczną wskazówkę tutaj ... – ephemient
Można również znaleźć ten łatwiej kod Jeśli typedef wskaźnik funkcji: 'typedef int (* fn) (const char *, const char * newStr); void register_rename (fn); ' –
Również" void register_rename (int (*) (const char *, const char *)); "jest równoważnym prototypem; nazwy nie są konieczne. – ephemient