如何将函数指针传递给具有可变参数的函数?

时间:2009-10-20 18:31:26

标签: c function-pointers

我不知道如何做到这一点!
如何在va_list参数中获取函数指针? 你非常感谢。

2 个答案:

答案 0 :(得分:4)

对函数指针类型使用typedef。

答案 1 :(得分:4)

Typedef通常可以更容易地处理函数指针,但不是必需的。

#include <stdarg.h>
void foo(int count, ...) {
    va_list ap;
    int i;
    va_start(ap, count);
    for (i = 0; i < count; i++) {
        void (*bar)() = va_arg(ap, void (*)());
        (*bar)();
    }
    va_end(ap);
}