0
鑑於這樣的小應用程序文本替換宏
#include "stdafx.h"
class IGraph
{
};
#define NULLWrapper(n) class IG ##nWrapperNULL : public I##n
class Test : public IGraph
{
};
NULLWrapper(Graph)
{
};
int main()
{
IGnWrapperNULL gw;
IGGraphWrapperNULL gw;
return 0;
}
爲什麼Visual Studio的2015年說,IGGraphWrapperNULL
是不確定的,而IGnWrapperNULL
是正確的? ##n
是否應該替換爲我在宏參數中發送的值?
您可以在Visual Studio中生成預處理文件。這會告訴你編譯器看到了什麼。你的兩個主變量不能有相同的名字。 –