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

预加工器与变量

2013-04-07 
预处理器与变量我为了方便调试别人的代码,在stdafx.h中定义了一个宏:#ifndef_DEBUG_FOR_ME#define_DEBUG_F

预处理器与变量
我为了方便调试别人的代码,在stdafx.h中定义了一个宏:

#ifndef  _DEBUG_FOR_ME
#define  _DEBUG_FOR_ME
#endif



在需要调试,观察一些将结果的地方加上:

#include"stdafx.h"

void fun()
{

#ifdef_DEBUG_FOR_ME
int nTmpLen=(DWORD)(endMarker-curMarker);
#endif 


if (curMarker-m_pRecvBuffer>0)
{

#ifdef _DEBUG_FOR_ME
nTmpLen=endMarker-curMarker;//结果nTmpLen这里过不去了,说是变量为定义。
#endif

}

}


这个fun函数所在的文件,我已经include"stdafx.h"

[解决办法]
楼主的代码看不出什么问题,两个ifdef包括的代码要么同时参与编译,要么都不参与编译,不会出现变量未定义的问题。
可能的原因:
第一个ifdef包括的代码中变量的作用域没有持续到第二个ifdef的地方,可以将ifedef endif语句都注释一下观察一下。

两个ifedef的宏拼写不一致,需要仔细检查一下。

热点排行