我想實現一個可變參數函數。我搜索了網頁,最終發現大多數例子只處理一種類型的參數(例如計算多個整數的平均值)。我的情況下,參數類型不固定。它可以涉及char *,int或兩者同時。這裏是我結束了代碼:C++ varargs/variadic函數與兩種類型的參數
void insertInto(int dummy, ...) {
int i = dummy;
va_list marker;
va_start(marker, dummy); /* Initialize variable arguments. */
while(i != -1) {
cout<<"arg "<<i<<endl;
/* Do something with i or c here */
i = va_arg(marker, int);
//c = va_arg(marker, char*);
}
va_end(marker); /* Reset variable arguments. */
現在這樣的工作沒關係,如果我只需要對付整數但你看到我在評論一個char * C變量,我想如果用該參數是一個char *。
所以問題是,如何處理va_arg的返回值而不知道它是int還是char *?
我們是否缺少一些`return * this`? – Arun 2011-02-05 00:56:58