将指针传递给函数时出现“预期的primary-expression之前”错误

时间:2012-02-18 03:35:37

标签: c++ typedef

我目前正在处理使用外部库的代码,这里是库中给出的内容的一部分:

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。我做错了什么?

2 个答案:

答案 0 :(得分:1)

你做错了什么。调用该函数的func_start_t完全没必要(且不正确)。你应该写:

create(foo, *args); //Assuming `args` is a pointer to a pointer

答案 1 :(得分:0)

请致电:

create(foo, *args);

我假设foo是一个定义为:

的函数
void foo(void*) {/*....*/}