今天调试时一段代码
if (CDrawParam::ms_rgnTypes[i].bSavePic == TRUE);
{
bRet=TRUE;
}
不管bSavePic 是真是假,bRet=TRUE总是执行,咋了,编译器有bug?弄了半天,原来if语句后面有个分号,哎呀!由于字体设置导致分号难以被发现,一直找不到原因,写代码马虎不得啊!
作者在调试代码过程中遇到一个奇怪的问题:无论条件真假,代码总走向同一分支。原来是if语句后多了一个不易察觉的分号,导致逻辑错误。本文提醒开发者注意这类易忽视的小错误。
今天调试时一段代码
if (CDrawParam::ms_rgnTypes[i].bSavePic == TRUE);
{
bRet=TRUE;
}
不管bSavePic 是真是假,bRet=TRUE总是执行,咋了,编译器有bug?弄了半天,原来if语句后面有个分号,哎呀!由于字体设置导致分号难以被发现,一直找不到原因,写代码马虎不得啊!
8万+
542

被折叠的 条评论
为什么被折叠?