Я пытаюсь объявить процедуру обратного вызова в C++ следующим образом:Что означает ошибка «неполного типа»?
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.
*/
Однако, я получаю следующее сообщение об ошибке:
line 204: error #70:
incomplete type is not allowed
void register_rename (int (*function) (const char *current, const char *new));
я не уверен, как это исправить. У меня есть другие аналогичные процедуры обратного вызова, объявленные в том же заголовочном файле, и я не получаю эту ошибку.
Пожалуйста, помогите! :)
подсветка синтаксиса дает полезную подсказку здесь ... – ephemient
Вы также можете найти это проще код, если вы ЬурейеЕ function pointer: 'typedef int (* fn) (const char *, const char * newStr); void register_rename (fn); ' –
Кроме того,' void register_rename (int (*) (const char *, const char *)); 'является эквивалентным прототипом; имена не нужны. – ephemient