2012-08-23 24 views
0

我正在使用MS-Windows XP SP3和Visual C++編譯器。現在,當我定義一個宏原樣在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) 

它的工作原理沒有任何錯誤。

什麼是確切的問題?

回答

0

你提的問題是非常困難沒有你提供完整錯誤信息來回答,但我猜它包括這樣的事情作爲第一線錯誤消息:

 
error C2065: 'int32' : undeclared identifier 

你必須確保類型別名int32存在,或者通過在其定義的地方包含正確的標題或自己定義它。而「定義」我的意思是應該有一個預處理器#define指令或typedef

+0

不,實際上該錯誤信息是 - 致命錯誤C1012:無與倫比的括號:缺少「)」 – vDeepak

+1

@vDeepak那麼請編輯您的問題,包括對_complete_錯誤信息,複製粘貼。當您發佈有關錯誤消息的問題時,應始終在問題中包含_complete_和_unedited_消息。它確實有助於我們理解可能存在的問題。 –