在c ++中使用宏的问题

时间:2012-08-23 06:29:27

标签: visual-c++

我正在使用MS-Windows XP SP3和Visual C ++编译器。现在我定义一个宏as-

#define APPVERSION(n) ((int32)0 + n)

并将其用作 -

if(APPVERSION(2)>= APPVERSION(1)) it is giving me an error as 

致命错误C1012:不匹配的括号:缺少')'

但当我将该宏用作 -

#define APPVERSION(n) (0L + n)

它没有任何错误。

究竟是什么问题?

1 个答案:

答案 0 :(得分:0)

如果没有提供完整错误消息,您的问题很难回答,但我猜它包含的内容是错误消息中的第一个行:

error C2065: 'int32' : undeclared identifier

您必须确保类型别名int32存在,方法是在其定义的位置包含正确的标题或自行定义。通过“定义”,我的意思是应该有预处理器#define指令或typedef