在 变参函数 内判断 参数 的类型是否可行?解决方法

在 变参函数 内判断 参数 的类型是否可行?voidprintf(char*format,...){va_listpParameterva_start(pPara

在 变参函数 内判断 参数 的类型是否可行?


void   printf   (   char*   format   ,   ...   )
{
va_list     pParameter   ;

va_start(   pParameter   ,   format   );

void*   vTemp   =   va_arg(   pParameter   ,   void*   )   ;//取参时???

va_end(   pParameter   );
}

有没有办法判断从参数栈里取出来的参数类型???高人指教!
只需要判断取出来的参数是整型还是字符型就可以了!!

[解决办法]
要是可以的话 printf 就不会有一个充满了 % 号的参数了。
不过你可以判断取出来的值是不是一个有效的指针。单整数也有可能刚好是一个指针的。
[解决办法]
通过typeinfo是可以识别类型,但是不同编译器实现不同,没有通用方法。
[解决办法]
没有办法。
而且实际上整型和字符型都是同样处理的。
typeid无法用于可变类型。