0

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

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

并将其用作-

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

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

但是当我将该宏用作-

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

它可以正常工作,没有任何错误。

什么是确切的问题?

4

1 回答 1

0

如果您不提供完整的错误消息,您的问题很难回答,但我猜它在错误消息的第一行中包含类似这样的内容:

错误 C2065:“int32”:未声明的标识符

您必须确保类型别名int32存在,方法是在定义它的地方包含正确的标头,或者自己定义它。通过“定义”,我的意思是应该有一个预处理器#define指令或一个typedef.

于 2012-08-23T08:13:17.027 回答