关于可变参数的有关问题。貌似没有有关问题,但编译就是不过,请高手帮忙

关于可变参数的问题。。。貌似没有问题,但编译就是不过,请高手帮忙
最近需要写个解析测试用例脚本的函数,参数需要可变。不过不知道哪里的问题,源文件在单独建工程时编译都没有错误,但是放到测试模块中去的时候,总是报错,试着放到工程模块的许多地方,都不能通过。。何解
UINT8 uiRc =   PM_ERROR;
INT32         iResult     =   0;
INT32         iNum           =   0;
FILE           *fp             =   NULL;
VOID           *pvPara     =   NULL;
va_list           ArgList;      
(void)va_start(ArgList,   pacFileName);
.//这里报 'void '   illegal   with   all   types错
.
while   (iNum   >   0)
{
        pvPara   =   (VOID   *)va_arg(ArgList,   VOID   *);
//这里报syntax   error   :   ') ';syntax   error   :   missing   ') '   before   ', ';
//还有个warning== '   :   'void   * '   differs   in   levels   of  
//indirection   from   'const   int   '
        ut_ReadOnePara(fp,   pvPara);
        iNum--;
}
.
.
va_end(ArgList);

看了一些变参的资料,语法应该都是正确的,不知道哪里出错了!?

------解决方案--------------------
那很可能就不是变长参数列表的问题
我以前也遇到过类似问题

测试函数过了,项目里面跑不通,
反复找程序的原因,

后来到底是工程的原因,
include和包含的lib,里面有和std标准库冲突的地方(我的那个bug)

我当时的方法,重新构建工程,每+一个include就编译一下,
这样错误定位比较准
错误信息也就比较有用了