我正在创建一个函数,必须传递至少2个(两个)参数:myStruct和value,其他参数是可选的。
这是我的功能样本:
int find(struct myStruct *, void * value, ...);
这是所有可能的论点:
struct myStruct *, void * value, int (*comparable) (void *, void *), int flag
我相信我将不得不使用va_list,但我不希望传递null如何使用最后的参数。这可能吗?
答案 0 :(得分:0)
使用可变参数,您至少有以下选项:
但请记住:您(程序员)必须确保您提供正确数量的参数。因此,如果你想从你的函数中创建一个接口(对于其他程序员),请确保它尽可能自然地安全。如果是,f.e。多重创建-GUI-Function,gui-elements的NULL终止列表考虑在内。