发现VC有个错误检查不出来
2012-10-31 16:09
721 查看
前天改程序过程中发现的,觉得VC6老兄有点坑爹了:) 折腾大半天才发现在哪里晕菜了!
代码我就简化了,其余无关的就省略掉,直击主题吧!
原来代码是这样:
接着想给GetValue多加一个参数,默认值为空字符串,调用的地方随手改了一下,结果变成这样了:
顺利编译通过,执行,结果大跌眼镜。上看下看没看出代码有什么问题,单步调试吧。发现有点奇怪,为什么传到GetValue里的name是空,而不是"guggy"呢?
Rebuild all后再试,问题依然!晕了
首先说明是我自己犯晕才出的这个问题,但觉得VC6应该比我清醒,最起码给个警告啊 对吧老兄!
if(GetValue(25), "guggy" > 0)
这么一句应该算不上有意义的语句吧?!
代码我就简化了,其余无关的就省略掉,直击主题吧!
原来代码是这样:
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)
这么一句应该算不上有意义的语句吧?!
相关文章推荐
- C++反汇编揭秘2 – VC编译器的运行时错误检查(RTC)
- Vue-cli项目中,引入css、js或者引入组件,检查后未发现错误,npm红叉报错原因
- C++反汇编揭秘2 – VC编译器的运行时错误检查(RTC)
- C++反汇编揭秘2 – VC编译器的运行时错误检查(RTC)
- 转:C++反汇编揭秘2 – VC编译器的运行时错误检查(RTC)
- C++反汇编揭秘2 – VC编译器的运行时错误检查(RTC)
- C++反汇编揭秘2 – VC编译器的运行时错误检查(RTC)
- 我对一个程序的分析(发现VC++的错误)
- 检查了一下VC2012新增的Intrinsics函数集,发现它支持ARM指令和Haswell新指令
- C++反汇编揭秘2 – VC编译器的运行时错误检查(RTC)
- C++反汇编揭秘2 – VC编译器的运行时错误检查(RTC)
- C++反汇编揭秘2 – VC编译器的运行时错误检查(RTC)
- 【wireshark】Ethereal抓包时发现TCP校验和or检查和错误的原因
- C++反汇编揭秘2 – VC编译器的运行时错误检查(RTC)
- C++反汇编揭秘2 – VC编译器的运行时错误检查(RTC) - [C/C++]
- vc++ 链接错误 error LNK2019: unresolved external symbol 检查步骤
- C++反汇编揭秘2 – VC编译器的运行时错误检查(RTC)
- C++反汇编揭秘2 – VC编译器的运行时错误检查(RTC)
- C++反汇编揭秘2 – VC编译器的运行时错误检查(RTC)
- 由vc2005 编译错误引出来的