簡體   English   中英

#define function 里面有命名空間

[英]#define function with namespace in it

我正在使用一些幾乎每年都在變化的 API,我需要重新編譯我的一些項目。 為了能夠處理一個文件,我想重新定義一些功能。 這是問題

#if API_VERSION < 12
#define somenamespace::someNEWfunction() someOLDfuncion()
#define somenamespace::someNEWnamespace                              //replace with nothing
#endif

所以我有兩種情況。 第一個是當我有 function 時,它的工作原理完全相同,但被重命名並移動到它自己的新命名空間,所以我需要擺脫命名空間部分並用舊名稱替換它。 第二個是當 function 剛剛移動到它自己的新命名空間但具有相同的名稱時。

由於::符號,編譯器不會讓我編譯它。

宏替換標記,而不是名稱。

您正在嘗試一次替換三個標記( somenamespace::someNEWfunction )。

你不能那樣做。

相反,請考慮命名空間別名

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM