首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

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

2012-03-16 
在 变参函数 内判断 参数 的类型是否可行?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无法用于可变类型。

热点排行