有这么小的应用程序
#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 2015说IGGraphWrapperNULL是未定义的,而IGnWrapperNULL是正确的?难道不应该用我在宏参数中发送的值替换##n吗?
发布于 2016-12-05 01:03:32
##不用于“串”宏参数,而是用于连接字符串。正确的定义是:
#define NULLWrapper(n) class IG##n##WrapperNULL : public I##n https://stackoverflow.com/questions/40965614
复制相似问题