ATL类型转换问题?

blestrabbit 2003-08-26 07:38:01
我在ATL中做类型转换时总是有告警信息。
例如,对于 (long)(&(m_ConnIDList))有如下的告警信息
warning C4311:"类型转换":从ConnectionID_t *__W64 到long的指针截断
m_ConnIDList是ConnectionID_t类型。
typedef struct ConnectionID_t {
long callID;
DeviceID_t deviceID;
ConnectionID_Device_t devIDType;
} ConnectionID_t;

typedef char DeviceID_t[64];


typedef enum ConnectionID_Device_t {
STATIC_ID = 0,
DYNAMIC_ID = 1
} ConnectionID_Device_t;
请告诉我怎样将类型成功转换,没有告警。

...全文
38 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Analyst 2003-08-26
  • 打赏
  • 举报
回复
在c/c++编译选项里把detect 64-bit protability issues关掉就可以了。
lifezhu 2003-08-26
  • 打赏
  • 举报
回复
怎么是64位指针?你的编译环境有没有问题?
blestrabbit 2003-08-26
  • 打赏
  • 举报
回复
怎样修改程序让类型转换没有告警发生?而且支持移植到64位,即detect 64-bit protability issues 打开。
blestrabbit 2003-08-26
  • 打赏
  • 举报
回复
如果我把detect 64-bit protability issues关掉的话,对程序有没有影响?可能会产生什么影响?

3,245

社区成员

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

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