Visual C++"Debug Assertion Failed"

fat*_*afa 3 visual-studio-2010 visual-c++

我使用Visual Studio 2010编译了代码,然后我尝试运行它,不幸的是在测试期间我有错误"Debug Assertion Failed!"....表达式(未加工)(c + 1)<= 256

然后我尝试了相同的场景,但使用gcc,它运行没有任何问题.知道这个问题怎么样?

lib*_*rik 5

你正在调用像isalpha()或isdigit()这样的函数,其整数的值不是单个字节0-255.


Sim*_*ter 3

有一段代码说“此时,我们期望表达式(unsigned)(c + 1) <= 256为真;如果不是,请在此时停止执行并进入调试器”。

闯入调试器的方法取决于平台,并且可能没有为 gcc 正确实现。我会在项目中查找这段代码,然后尝试找出为什么c应该小于或等于 255,以及是什么导致它超出范围;让程序运行到触发断言的位置会为您提供错误条件上的隐式断点,从该断点开始。