[英]error: expected primary-expression before ')' when passing function-pointer to a function
[英]“expected primary-expression before” error when passing pointer to function
我目前正在研究利用外部庫的代碼,這是該庫中給出的內容的一部分:
typedef void (*func_start_t) (void *);
extern int create(func_start_t func, void *a);
我正在嘗試使用以下代碼行(其中foo是另一個函數)來調用此代碼:
create(func_start_t foo, *args);
但是我一直expected primary-expression before foo
得到一個錯誤的expected primary-expression before foo
。 我究竟做錯了什么?
您做錯了。 對該func_start_t
的調用中的func_start_t
是完全不必要的(並且不正確)。 您應該只寫:
create(foo, *args); //Assuming `args` is a pointer to a pointer
只需致電:
create(foo, *args);
我假設foo
是一個定義為的函數:
void foo(void*) {/*....*/}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.