读书人

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

发布时间: 2012-03-16 16:34:56 作者: rapoo

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


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

va_start( pParameter , format );

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

va_end( pParameter );
}

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

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

读书人网 >C语言

热点推荐