【问题标题】:Unhandled exception at 0x0872340b (CAN.dll) in application.exe: 0xC0000005: Access violation reading location 0x00000000application.exe 中 0x0872340b (CAN.dll) 处的未处理异常:0xC0000005:访问冲突读取位置 0x00000000
【发布时间】:2014-10-13 03:14:25
【问题描述】:

我是 C++ 的初学者。当我尝试调用函数时出现未处理的异常

有人可以给我一个提示吗?

【问题讨论】:

  • 在这篇文章中,我没有看到log_file 是除了 NULL 之外的任何东西。因此,取消引用:log_file->vLog_Embaserror(Header, "EMBAS"); 不会顺利结束。
  • @WhozCraig 我删除了 NULL 仍然是同样的问题
  • 呃。 它没有指向一个有效的对象。仅仅删除 ` = NULL;` 并不能解决这个问题。我无法想象一种更简单的方式,如果仍然不清楚,您需要查看 C++ 中的指针是如何工作的。

标签: c++


【解决方案1】:

您的代码没有显示对变量的赋值。 “日志文件”。但是函数 config_print_error 取消引用这个指针。这与异常参数 0x00000000 匹配。如果您的代码示例不完整,您应该在映射文件中查找异常地址 0x278440b。

【讨论】:

    【解决方案2】:

    在 CAN.cpp 中,您声明了一个 CBaseLogObject 指针并将其设置为 null,然后尝试访问它。这就是所谓的空指针异常。

    【讨论】:

      猜你喜欢
      • 2013-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-05
      • 2014-10-26
      • 1970-01-01
      相关资源
      最近更新 更多