VC的类型推导问题

来源:互联网 发布:上海哥瑞利软件 编辑:程序博客网 时间:2024/06/04 08:44

由于代码要兼容64位系统,所以,跟指针有关联的整数全部都是适用的INT_PTR和UINT_PTR类型。这两个东西在32位系统下被定义成:

__w64 int和__w64 unsigned int.

 但是,VC的模板参数推导机制里,似乎是没有__w64这样的修饰的,因此,所有的__w64 int被推导成类型int,实例化出int类型的模板。在参数传递的时候,由于传递的参数是__w64 int类型,就会导致64位代码移植部分不停的唧唧歪歪吐出一大堆警告。又由于模板代码的出错信息很难理解,VC8.0以后,还会再吐出一大堆相关的代码。

于是,我的真正的性命攸关的警告就被淹没在这一堆信息里了。

 

原创粉丝点击