2012-08-04 65 views
2

Possible Duplicate:
Is it possible to have a variadic function in C with no non-variadic parameter?是否有可能创建一个没有参数的C varargs函数?

是否有可能创建一个没有参数的C varargs函数?

例如:

int foo(...); 

我想要做的东西像下面这样:

list* create_list(...){ 
    list *mylist = list_create(); 
    void *current_arg = va_arg(void*); 
    while (current_arg != NULL){ 
     list_add(mylist, current_arg); 
     current_arg = va_arg(void*); 
    } 
    return mylist; 
} 
+0

已经有关于功能的有效的答案。与此相反,仅允许使用'...'的vaarg *宏*是允许的。所以,如果你想告诉我们你想达到什么目的,可能有办法...... – 2012-08-04 20:40:09

+1

你可以用一个伪参数和一个可变参数伪造伪参数。 – 2012-08-04 20:44:39

回答

4

号可变参数的函数必须有一个或多个命名参数。

自己尝试一下,你会看到类似这样的:

error: ISO C requires a named argument before '...'

相关问题