簡體   English   中英

將指針傳遞給函數時出現“ expected primary-expression before”錯誤

[英]“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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM