0

MS-Windows XP SP3 と Visual C++ コンパイラを使用しています。ここで、1 つのマクロを次のように定義すると、

#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 に答える