使用方法:最后一个参数必须为NULL,作为参数退出标志
static const int freeAll(void* needToFree,...)
{
if(NULL ==
needToFree)
{
return false;
}
va_list
arg_ptr;
void* argRetval = NULL;
int argCount =
0;
void* temp =
NULL;
va_start(arg_ptr,needToFree);
do{
argRetval
= va_arg(arg_ptr,void*);
if(NULL ==
argRetval)
{
break;
}
temp
= argRetval;
free(temp);
temp =
NULL;
}while(argRetval != NULL);
va_end(arg_ptr);
free(needToFree);
return
true;
}
原文:http://www.cnblogs.com/zcblogs/p/3658730.html