我想实现一个可变参数函数。我搜索了网页,最终发现大多数例子只处理一种类型的参数(例如计算多个整数的平均值)。我的情况下,参数类型不固定。它可以涉及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