warning C4005: 'DBGMSG' : macro redefinition 如何修正?
dbgdef.h的内容
-------------------
DBGMSG(BASE=1000,""),
DBGMSG(AAA,"AAA"),
DBGMSG(BBB,"BBB"),
DBGMSG(CCC,"CCC"),
DBGMSG(DDD,"DDD"),
DBGMSG(EEE,"EEE"),
DBGMSG(FFF,"FFF"),
DBGMSG(GGG,"GGG"),
DBGMSG(MAX,""),
/********************/
dbgdef.cpp的内容
-------------------
#define DBGMSG(A,B) A
enum _dbgdef
{
#include "defdbg.h"
}dbgdef;
#define DBGMSG(A,B) B
char *str[]=
{
#include "defdbg.h"
};
char * GetDbgTxt(int dbgcode)
{
return str[dbgcode-BASE];
}
int main(int argc, char* argv[])
{
printf("%s\n",GetDbgTxt(DDD));
return 0;
}
可以正常运行,就是编译有警告。
如何修正代码或者给我比较好的解决方案可以根据标识符获得其文字描述?