首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

warning C4005: 'DBGMSG' : macro redefinition 怎么修正

2012-03-12 
warning C4005: DBGMSG : macro redefinition 如何修正?dbgdef.h的内容-------------------DBGMSG(BASE

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;
}  
可以正常运行,就是编译有警告。
如何修正代码或者给我比较好的解决方案可以根据标识符获得其文字描述?

[解决办法]
#ifdef DBGMSG
#undef DBGMSG

在这里重新定义 DBGMSG

#endif

热点排行