将代码从VC6迁移到VC2008后的宏定义报错

clming327 2014-01-23 09:34:09
有一份VC6代码,在stdafx.h里有这么一段代码

#ifndef ULONG_PTR
#define ULONG_PTR unsigned long*
#endif

typedef unsigned * DWORD_PTR;


在VC6下编译运行都没有报错,但迁到VC2008后编译报错,说是ULONG_PRT与unsigned int *间接寻址级别不同。

要怎么修改才符合VC2008的标准呢?
...全文
44 点赞 收藏 3
写回复
3 条回复
傻X 2014年01月23日
DWORD_PTR是系统已经定义过的。 typedef unsigned int * DWORD_PPTR;
回复 点赞
clming327 2014年01月23日
引用 1 楼 brk1985 的回复:
unsigned * 改成 unsigned int*, VS2008不支持默认int
改成如下,还是报同样的错误:

#ifndef ULONG_PTR
#define ULONG_PTR unsigned long*
#endif
 
typedef unsigned int* DWORD_PTR;
报错信息: error C2040: "DWORD_PTR" "unsigned int *"与"ULONG_PTR"的间接寻址级别不同
回复 点赞
brk1985 2014年01月23日
unsigned * 改成 unsigned int*, VS2008不支持默认int
回复 点赞
发动态
发帖子
VC/MFC
创建于2007-09-28

7898

社区成员

42.1w+

社区内容

VC/MFC相关问题讨论
社区公告
暂无公告