c++ - 为什么在我使用 dynamic_cast 时会发生此错误?
问题描述
我想向下转换一个对象,但它会导致“无法动态转换”错误..(源不是类类型)
问题是什么??
这是我的代码,
class A{...}
class B: public A{...}
A& x;
dynamic_cast<B&>(&x))!=0 //error here (source is not of class type)
解决方案
只能对dynamic_cast
一个类类型进行引用。
问题是什么??
正如错误所说,&x
表达式的结果不是类类型。它是一种指针类型。您试图dynamic_cast
指向一个引用的指针。这是不可能的。
推荐阅读
- spring-boot - Spring Boot 和 ELK
- iis - 当 IIS 应用程序池可能空闲时,如何允许作业在下班后运行?
- typescript - 在 TypeScript 中,如何获取值属于给定类型的对象类型的键?
- c# - 如果只有一条记录返回 linq 输出是错误的 c#
- ruby-on-rails - OpenSSL 在 Rails 中出错,但在 Ruby 中没有
- sensenet - 我将如何在 sensenet 中实施公司简介?
- javascript - 为什么 forEach() 在这个对象循环中不起作用?
- excel - 打开链接并在链接中搜索动态关键字的 VBA 代码
- django - 如何保持 Spacy 的 ML 模型在 Django 应用程序中运行
- java - 使用对象数组构建 JSON