如何传入类型不确定的参数?

CPlusMan 2006-08-25 02:33:08
我用ATL做控件,做一个函数需要将一个不确定的类型变量值赋予一个VARIANT,函数如下,其中value
为VARIANT, ptwValue为指向不确定类型变量的指针,nType为类型。问一下这个不确定类型变量能这样传参数吗?能像我如下这样处理吗?有什么好办法?

void CTwainGlue::TWTY2Variant(VARIANT &Value, void *ptwValue, short nType)
{
switch(nType) {
case 0: //VT_I2
Value.vt=VT_I2;
Value.bVal=(short)*ptwValue;
break;
......
case 1: //
break;
default:
}
}
...全文
373 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
winehero 2006-08-26
  • 打赏
  • 举报
回复
value.vt=VT_I2;
value.iVal=*(short*)ptwValue;
折腾_苏州 2006-08-25
  • 打赏
  • 举报
回复
value.iVal=*(short *)ptwValue;
yangsky971 2006-08-25
  • 打赏
  • 举报
回复
我也记得是可以这么传的,检查下*号什么的是不是用的位置不对,我也没调试,不敢肯定哪里用错了,但是这种传递的方式是没问题的
CPlusMan 2006-08-25
  • 打赏
  • 举报
回复
对不起上面那句贴错了,写成:value.iVal=(short)*ptwValue;
那怎么会出现变异错误:error C2100: illegal indirection?
折腾_苏州 2006-08-25
  • 打赏
  • 举报
回复
你那样可以

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧