2012-08-04 96 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 '...'

相關問題