如果unicode已定義,TEXT(「x」)宏如何擴展爲L「x」;如果unicode未定義,TEX如何擴展爲「x」,因爲當我嘗試編譯下面的代碼時, #1049:宏參數中的語法錯誤。「Macro擴展中的語法錯誤
#define T("x") "x"
int main()
{
}
如果unicode已定義,TEXT(「x」)宏如何擴展爲L「x」;如果unicode未定義,TEX如何擴展爲「x」,因爲當我嘗試編譯下面的代碼時, #1049:宏參數中的語法錯誤。「Macro擴展中的語法錯誤
#define T("x") "x"
int main()
{
}
在您的安裝中查找tchar.h
標頭。你會看到類似以下內容:
#define __T(x) L ## x
在Unicode模式下,上面的宏膏的L
和字符串參數在一起。在ASCII模式下,沒有前綴粘貼如此這般簡單的:你間接調用這個宏,通過另一個宏
#define __T(x) x
注 - _T()
(以單下劃線),並通過一個字符串作爲參數。
#define T("x") "x"
定義宏功能T
,並且這將是一個名爲x
如果沒有發現任何報價參數。您可以嘗試這樣的代替:
#define T(x) #x
上面的代碼即使編譯也不會執行任何操作;這裏有什麼意圖? –