ᶘ ᵒᴥᵒᶅssw 2024-06-11 14:59 采纳率: 0%
浏览 69

E2020 此处不能使用 托管 nullptr 类型

报错:“E2020 此处不能使用 托管 nullptr 类型"
用的是C++/CLI,该如何找出错误并解决

img

  • 写回答

4条回答 默认 最新

  • 关注

    下午好🌅🌅🌅
    本答案参考ChatGPT-3.5

    这个错误的出现是因为你在试图访问一个void*类型的指针,但实际它已经被赋值为一个nullptr。这通常发生在尝试创建一个新的或复制现有对象时。

    以下是一些可能的解决方案:

    1. 检查指针是否正确初始化:如果可能的话,确保你已将void*指针的地址设置为正确的值。例如,在CLRCALL函数中,如果你将指针赋值为const void*, 那么你应该将其更改为In_const void*
    extern "C++"CRTIMP2 PURE void CLRCALL PURE_or CDECL ExceptionPtrCopyException(
        _Inout_
        const void*
        ,In_const void*
        )noexcept;
    
    1. 调试程序以找到可能导致nullptr的错误:在编译时或运行时使用调试工具来定位和修复导致nullptr的原因。如果问题出在引用计数上(即一个对象被销毁后,其引用计数减一),那么你可能需要重置引用计数。
    2. 使用默认参数:如果可能的话,考虑使用默认参数来处理可能的null指针。这样可以减少出现NullPointerException的可能性。
    3. 提供更多的错误信息:如果你无法确定错误的具体原因,你可以提供更多信息,以便他人更好地理解问题并解决问题。比如,如果抛出了std::bad_cast,那就说明你的指针被初始化为一个错误的对象类型。

    请注意,以上建议仅供参考,具体应根据你的具体情况选择最适合的方法。

    评论

报告相同问题?

问题事件

  • 创建了问题 6月11日

悬赏问题

  • ¥30 STM32 INMP441无法读取数据
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境