广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    C++Debug Assertion Failed!到底出错在哪里?

    来源:网络收集  点击:  时间:2024-02-19
    【导读】:
    在执行程序时,时常遇到一些Debug Assertion Failed!的错误警告对话框,对于初学者不知道问题出在哪里,我在这里以一个简单的例子演示给大家。工具/原料moreVC++6.0或VS2010等C++开发软件都可以 需要了解一些C++的基础知识方法/步骤1/6分步阅读

    下面这幅图是我的程序源代码截图,这是一个很简单的小程序,不妨自己阅读下能否找到错误。

    2/6

    下图是在执行程序时弹出的错误警告对话框,类似的情况很多,我在调试dll插件的时候也时常碰到,后来发现大多是指针引起的错误。

    3/6

    下图荧光笔标记的地方,是Distance类析构函数,这里使用了delete,其实是画蛇添足的,因为pDist指针是静态分配的内存,当程序运行完后,其内存自动释放,此时使用delete就是删除一个不存在的指针,从而报错,而实际上delete是与new搭配使用的。

    4/6

    总结来说这种错误存在两种情况,其一就是野指针。

    5/6

    另一种情况就是内存泄露。

    6/6

    在调试的时候一定是在自己编写的函数上找错,不要一只跟着调试顺序在库函数里找错。

    注意事项

    单步调试找到错误,祝好运。

    DebugAssertionFailed
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_82916.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-04 22:54:35  耗时:0.025
    0.0251s