Tôi cố gắng để tuyên bố một thói quen gọi lại trong C++ như sau:Lỗi "không hoàn toàn không được phép" có nghĩa là gì?
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.
*/
Tuy nhiên, tôi nhận được lỗi sau:
line 204: error #70:
incomplete type is not allowed
void register_rename (int (*function) (const char *current, const char *new));
Tôi không chắc chắn làm thế nào để khắc phục điều này. Tôi có các thói quen gọi lại tương tự khác được khai báo trong cùng một tệp tiêu đề và tôi không nhận được lỗi này.
Vui lòng trợ giúp! :)
Cú pháp tô sáng cho một gợi ý hữu ích ở đây ... – ephemient
Bạn cũng có thể tìm thấy dễ dàng hơn này để mã hóa nếu bạn typedef sự con trỏ hàm: 'typedef int (* fn) (const char *, const char * newStr); void register_rename (fn); ' –
Ngoài ra,' void register_rename (int (*) (const char *, const char *)); 'là một nguyên mẫu tương đương; tên không cần thiết. – ephemient