动态转换抛出指针不是 std::__non_rtti_object

2023-12-08

我在使用dynamic_cast 时遇到问题。我刚刚编译了我的项目并在调试模式下测试了所有内容,然后我尝试在发布模式下编译它,我已经从调试模式复制了所有配置,除了现在的优化参数 /o2,(在调试时我将其设置为 /od)项目已编译,但当它开始加载我的资源时,我在此处的代码段中遇到异常:

for(int j = 1; j < i->second->getParametersNumber();j++)
{
    CCTMXTiledMap* temp = CCTMXTiledMap::tiledMapWithTMXFile(i->second->As<string>(j).c_str());
    CCTMXLayer* ret = NULL;
    for(NSMutableArray<CCNode*>::NSMutableArrayIterator l=temp->getChildren()->begin();!ret && l!=temp->getChildren()->end();l++)
        ret = dynamic_cast<CCTMXLayer*> (*l);
    t1.first = ret;
    templates[i->first].second.push_back(t1);
    templates[i->first].second.back().first->retain();
}

代码中没有任何变化,当我检查调试器时,类中的每个变量都是它应该的样子,但动态转换抛出 std::__non_rtti_object。我做错了什么?我正在使用 cocos2d-x ,我没有足够的声誉来添加该标签!


Does CCNode有虚函数吗? temp->getChildren()->begin() 的所有元素都是真的吗CCNodes? Does temp->getChildren()返回参考?后者尤其阴险:你称两者为temp->getChildren()->begin() and temp->getChildren()->end(). If getChildren()返回一份副本,您正在获取begin一份副本和end另一个副本。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

动态转换抛出指针不是 std::__non_rtti_object 的相关文章

  • 如何获取正在访问 ASP.NET 应用程序的当前用户?

    为了获取系统中当前登录的用户 我使用以下代码 string opl System Security Principal WindowsIdentity GetCurrent Name ToString 我正在开发一个 ASP NET 应用程
  • 编译时运算符

    有人可以列出 C 中可用的所有编译时运算符吗 C 中有两个运算符 无论操作数如何 它们的结果始终可以在编译时确定 它们是sizeof 1 and 2 当然 其他运算符的许多特殊用途可以在编译时解决 例如标准中列出的那些整数常量表达式 1 与
  • 通过 CMIS (dotCMIS) 连接到 SP2010:异常未经授权

    我正在使用 dotCMIS 并且想要简单连接到我的 SP2010 服务器 我尝试用 C 来做到这一点 如下所示http chemistry apache org dotnet getting started with dotcmis htm
  • 按成员序列化

    我已经实现了template
  • 不支持将数据直接绑定到存储查询(DbSet、DbQuery、DbSqlQuery)

    正在编码视觉工作室2012并使用实体模型作为我的数据层 但是 当页面尝试加载时 上面提到的标题 我使用 Linq 语句的下拉控件往往会引发未处理的异常 下面是我的代码 using AdventureWorksEntities dw new
  • Asp.NET WebApi 中类似文件名称的路由

    是否可以在 ASP NET Web API 路由配置中添加一条路由 以允许处理看起来有点像文件名的 URL 我尝试添加以下条目WebApiConfig Register 但这不起作用 使用 URIapi foo 0de7ebfa 3a55
  • HTTPWebResponse 响应字符串被截断

    应用程序正在与 REST 服务通信 Fiddler 显示作为 Apps 响应传入的完整良好 XML 响应 该应用程序位于法属波利尼西亚 在新西兰也有一个相同的副本 因此主要嫌疑人似乎在编码 但我们已经检查过 但空手而归 查看流读取器的输出字
  • C# 中通过 Process.Kill() 终止的进程的退出代码

    如果在我的 C 应用程序中 我正在创建一个可以正常终止或开始行为异常的子进程 在这种情况下 我通过调用 Process Kill 来终止它 但是 我想知道该进程是否已退出通常情况下 我知道我可以获得终止进程的错误代码 但是正常的退出代码是什
  • 使用 WebClient 时出现 System.Net.WebException:无法创建 SSL/TLS 安全通道

    当我执行以下代码时 System Net ServicePointManager ServerCertificateValidationCallback sender certificate chain errors gt return t
  • while 循环中的 scanf

    在这段代码中 scanf只工作一次 我究竟做错了什么 include
  • SolrNet连接说明

    为什么 SolrNet 连接的容器保持静态 这是一个非常大的错误 因为当我们在应用程序中向应用程序发送异步请求时 SolrNet 会表现异常 在 SolrNet 中如何避免这个问题 class P static void M string
  • 控件的命名约定[重复]

    这个问题在这里已经有答案了 Microsoft 在其网站上提供了命名指南 here http msdn microsoft com en us library xzf533w0 VS 71 aspx 我还有 框架设计指南 一书 我找不到有关
  • 垃圾收集器是否在单独的进程中运行?

    垃圾收集器是否在单独的进程中启动 例如 如果我们尝试测量某段代码所花费的进程时间 并且在此期间垃圾收集器开始收集 它会在新进程上启动还是在同一进程中启动 它的工作原理如下吗 Code Process 1 gt Garbage Collect
  • 什么时候虚拟继承是一个好的设计? [复制]

    这个问题在这里已经有答案了 EDIT3 请务必在回答之前清楚地了解我要问的内容 有 EDIT2 和很多评论 有 或曾经 有很多答案清楚地表明了对问题的误解 我知道这也是我的错 对此感到抱歉 嗨 我查看了有关虚拟继承的问题 class B p
  • 这些作业之间是否存在顺序点?

    以下代码中的两个赋值之间是否存在序列点 f f x 1 1 x 2 不 没有 在这种情况下 标准确实是含糊不清的 如果你想确认这一点 gcc 有这个非常酷的选项 Wsequence point在这种情况下 它会警告您该操作可能未定义
  • 链接器错误:已定义

    我尝试在 Microsoft Visual Studio 2012 中编译我的 Visual C 项目 使用 MFC 但出现以下错误 error LNK2005 void cdecl operator new unsigned int 2
  • 将控制台重定向到 .NET 程序中的字符串

    如何重定向写入控制台的任何内容以写入字符串 对于您自己的流程 Console SetOut http msdn microsoft com en us library system console setout aspx并将其重定向到构建在
  • 混合 ExecutionContext.SuppressFlow 和任务时 AsyncLocal.Value 出现意外值

    在应用程序中 由于 AsyncLocal 的错误 意外值 我遇到了奇怪的行为 尽管我抑制了执行上下文的流程 但 AsyncLocal Value 属性有时不会在新生成的任务的执行范围内重置 下面我创建了一个最小的可重现示例来演示该问题 pr
  • C# - OutOfMemoryException 在 JSON 文件上保存列表

    我正在尝试保存压力图的流数据 基本上我有一个压力矩阵定义为 double pressureMatrix new double e Data GetLength 0 e Data GetLength 1 基本上 我得到了其中之一pressur
  • C++ 中类级 new 删除运算符的线程安全

    我在我的一门课程中重新实现了新 删除运算符 现在我正在使我的代码成为多线程 并想了解这些运算符是否也需要线程安全 我在某处读到 Visual Studio 中默认的 new delete 运算符是线程安全的 但这对于我的类的自定义 new

随机推荐

  • Mongoose 删除(拉取)数组中的文档,不适用于 ObjectID

    我有以下猫鼬模式 user userId myId connections dateConnectedUnix 1334567891 isActive true dateConnectedUnix 1334567893 isActive f
  • 如何在IIS7中为ASP.NET创建虚拟目录?

    我有一个 ASP NET 网站 我的机器有 IIS7 在 Windows Vista home premium 上运行 我希望局域网上的其他计算机可以看到它 我需要创建一个虚拟目录吗 如何在我的计算机上创建虚拟目录 我必须如何部署它才能让其
  • Azure 门户自定义磁贴 - Markdown 磁贴

    是否可以在天蓝色仪表板中显示自定义信息 我正在搜索如何在天蓝色仪表板中添加自定义内容 但没有找到任何内容 唯一接近的是允许显示 html 的 markdown 磁贴 考虑到这一点 经过大量挖掘后 我找到了解决方案 基本上 我们需要一个自定义
  • 零行 1000 列的矩阵?

    我正在看一个例子CvNormalBayesClassifier train其中输入 输出矩阵是一维向量 我正在查看的示例通过使用以下行创建具有 0 行和 1000 列的 cv Mat 矩阵来实现此目的 Mat trainingData 0
  • 如何区分/合并对部署项目文件的更改

    我目前正在使用 CVS 不是我的选择 并且有几个分支 我正在尝试合并两个分支 但部署项目文件存在冲突 如果不花费大量时间我就无法解决 对项目文件的微小更改会导致对该项目文件的巨大更改 我想这要归功于 GUID 更改 更改项目文件 获取干净的
  • 为什么“schtasks”不运行我的作业?

    我使用 Windows XP 安排了一个任务schtasks实用程序 但任务不运行 这是我在SchedLgU Txt日志档案 MySQL Automatic Backup job WampServer 10 2 2010 6 36 43 P
  • 为什么 main 被调用两次?

    我刚刚了解了 fork 据我了解 子进程从调用 fork 开始执行 否则 fork 会递归 然而在这段代码中 创意链接 int main printf d Common code1 n getpid if fork 0 printf d P
  • 将 Maven 中的多模块项目构建到一个 war 文件中

    我的问题以前曾被问过 我知道 但我认为我正在尝试做一些稍微不同的事情 其中 现有的答案是不合适的 本质上 我确实希望在 Eclipse 中拥有多个项目 这些项目将构建 最好 到一个最终的 WAR 文件中 理想情况下是这样的 root pom
  • MySQL REGEXP - 删除空格和非数字字符

    我想在 MySQL 数据库中搜索电话号码 目前有这个查询 SELECT person FROM people WHERE phone number RLIKE 123456789 它不会找到 123 456 789 12 456789 12
  • Validationengine jquery 无法正常本地化

    我正在使用validationEngine jquery 2 6 2 在 ASP NET 中进行验证 我想根据选择的语言 如英语或日语 加载其语言规则文件 我在应用程序中使用母版页 对此给出一些解决方案 您没有指定如何选择语言以及如何检查当
  • 有没有办法检查网页上正在使用或未使用哪些 CSS 样式?

    想要了解网页上当前使用哪些 CSS 样式 2022 年 7 月更新 Google 似乎已删除了下面的选项 1 审核选项卡已被删除 并且添加了 Lighthouse 和 Recorder Google Chrome 有两种方法来检查未使用的
  • 获取客户端的IP地址或获取连接到Android热点的客户端的信息(SSID)(网络共享后)

    我得到了 Wifi 网络共享程序 我在 Android 中得到了一个开放 非安全 热点 我喜欢查看连接到我的热点的客户端的详细信息 SSID 和 IP 地址 我使用了 SocketAddress socketid socket getLoc
  • 未知符号 __class_create (错误 0)

    这可能是一个愚蠢的问题 但我在网上查找了几个小时却找不到答案 我正在编写一个也创建字符设备的内核模块 它编译时没有错误和警告 但是当我尝试时sudo insmod my mod ko I get insmod error inserting
  • Xpages文件改变文件模式?

    我遇到了一件奇怪的事情 不幸的是 像往常一样 我无法发布代码 因此我正在描述问题 以防有人可以提出可能的原因 我有一个 xpage 其中包含自定义控件 自定义控件通过链接处理文档锁定和更改为编辑 只读模式 文档锁定是通过基于 UNID 设置
  • 并行运行/执行多个过程 - Oracle PL/SQL

    我有一个活动表 它获取系统的所有表事件 所有系统表上的新订单 插入 删除等事件都将插入到该表中 因此 对于活动表来说 每秒的事件数确实很大 现在 我想根据负责引发事件的表的业务逻辑来处理传入事件 每个表可能有不同的处理过程 我使用了相同的链
  • 在C#中使用结构体读取数据

    假设我有一个这样定义的结构 struct Student int age int height char name 12 当我读取二进制文件时 它看起来像 List
  • 如何在 Windows 脚本中获取最新(按创建时间)目录的名称?

    我需要一些帮助来获取 Windows 脚本中最新目录的名称 我找到了一些有关获取最新有效文件的信息 但我无法让它在目录上工作 例如 这是我的目录 drwxr xr x 2 usrpm Domain Users 0 Jun 29 10 34
  • 在 yii2 中使用“with”的嵌套关系

    有人可以告诉我 我有几个型号 一Item有很多 特性 On Property有很多 特征我可以这样做 return Item find gt where code gt code gt with properties gt asArray
  • xcode - 如何将视图锁定为纵向模式,但仍允许一个视图旋转?

    我遇到设备旋转问题 除了一个视图 我在其中显示公司初始屏幕 之外 我想将所有剩余的应用程序视图锁定为纵向显示 在项目设置中 支持的方向是纵向和横向左 在 公司启动画面 中 它工作正常 并且无论我如何旋转设备 视图旋转都被锁定到 Landsc
  • 动态转换抛出指针不是 std::__non_rtti_object

    我在使用dynamic cast 时遇到问题 我刚刚编译了我的项目并在调试模式下测试了所有内容 然后我尝试在发布模式下编译它 我已经从调试模式复制了所有配置 除了现在的优化参数 o2 在调试时我将其设置为 od 项目已编译 但当它开始加载我