发现VC有个错误检查不出来

来源:互联网 发布:淘宝购物优惠券软件 编辑:程序博客网 时间:2024/05/01 02:57

前天改程序过程中发现的,觉得VC6老兄有点坑爹了:)  折腾大半天才发现在哪里晕菜了!

代码我就简化了,其余无关的就省略掉,直击主题吧!


原来代码是这样:

int GetValue(int key){    ......}void CTestDlg::OnButton1() {    if (GetValue(25) > 0)    {        ......     }    ......}

接着想给GetValue多加一个参数,默认值为空字符串,调用的地方随手改了一下,结果变成这样了:

int GetValue(int key, CString name = ""){    ......}void CTestDlg::OnButton1() {    if (GetValue(25), "guggy" > 0)    {        ......     }    ......}

顺利编译通过,执行,结果大跌眼镜。上看下看没看出代码有什么问题,单步调试吧。发现有点奇怪,为什么传到GetValue里的name是空,而不是"guggy"呢?
Rebuild all后再试,问题依然!晕了

首先说明是我自己犯晕才出的这个问题,但觉得VC6应该比我清醒,最起码给个警告啊 对吧老兄!

if(GetValue(25), "guggy"  > 0)

这么一句应该算不上有意义的语句吧?!