- 浏览: 265186 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (153)
- Qt (21)
- C++ (10)
- javascript (8)
- linux (8)
- RTC (1)
- JNI (1)
- Qt 图形 (1)
- Mac Bootcamp (1)
- node.js (3)
- Windows SDK 7.1 (1)
- VS2010 (2)
- linux Tcl 脚本语言 (0)
- Mac (1)
- Clucene VS2013 (1)
- VisualStudio (1)
- golang (12)
- postgresql (5)
- SVN (1)
- VS (2)
- 微信开发 (8)
- html5 (1)
- Win7 (1)
- Office (1)
- redis (1)
- Bootstrap (1)
- nginx (2)
- docker (1)
- xorm (3)
- blender (2)
- linux ec2 (1)
- aws (1)
- 七牛云 (1)
- css (5)
- h2 (1)
- react (2)
- java (2)
- html (2)
- eclipse (1)
- java swing (1)
- webpack (1)
- mysql (5)
- VS2017 (1)
- 网站 (1)
- tomcat spring (1)
- Ant (2)
- sql (1)
- 其它 (1)
- Win10 (1)
- R (1)
- git (1)
- Windows (1)
- ubuntu (2)
- python (3)
- win 11 (1)
- quasar (1)
- github (0)
最新评论
通常这是Qt 在VisualStudio 的插件的bug导致的,如果你的工程是用Qt插件在VS中的菜单用Open一个.pro工程的方式建立的,那么很可能碰到这个问题。解决方法是将工程属性中c/C++下的PreProcessor里由该bug附加的QT_NO_DYNAMIC_CAST这个宏去掉,然后在c/c++下的Language选项里将Enable Runtime Type Info选项打开。
发表评论
-
&QComboBox::currentIndexChanged无法用于connect
2022-07-20 15:25 337改为如下 QObject::connect(comboBo ... -
Qt无法进入槽函数( the slot function cannot entry for Qt)
2022-07-05 22:37 926如果connect没问题则需要检查一下信号发出者是否是在工 ... -
QtConcurrent::mappedReduced使用仿函数(functor)
2022-04-11 12:38 479参考https://stackoverflow.com/qu ... -
Qt open file report error "Broken filename passed to function"
2022-02-18 15:22 575原因: 文件名的最后多了一个\0会导致这个错误 -
QPainter在4K屏上绘制不清楚 (QPainter not clear in high DPI)
2021-12-31 10:23 889如果是先将内容绘制到一个图片缓存上的话,这个图片缓存需要放 ... -
Qt开发磁盘空间查看器
2021-09-09 10:30 0int main(int argc, char **argv ... -
QTableWidget的openPersistentEditor去掉高亮选择
2021-08-02 10:59 553如果用QTableWidget作为一个表格编辑控件的话,简单 ... -
qt安装包制作前的依赖文件收集
2019-05-16 14:29 626将***.exe文件copy到一个空的bin目录下,然后命令行 ... -
QListView实现流式布局和多列效果(flow layout and multiple columns)
2017-10-31 10:49 2529关键的三个调用: 1. setViewMode(QLis ... -
VS2010 如何调试进(step into)项目引用的第三方开源源代码,比如Qt源码
2015-01-07 09:06 1710在Solution上点击右键,选择"Properti ... -
Qt Creator配置vs2010编译器和调试器
2014-10-14 00:20 9579(本文系原创,转载请 ... -
QT间进程通信之共享内存
2014-07-18 11:28 0QT间进程通信之共享内存 Qt提供了一种安全的共享内存 ... -
Qt相关一个编译错误:'staticMetaObject' is not a member of ‘XXXClass’
2013-11-21 10:45 1323这个错误是怎么引起的呢?就是如果一个类不是从QObject及其 ... -
foreach的元素是QPair之类具有逗号的类型怎么办?
2013-05-30 19:41 1084如上所述: foreach(QPair<int,QStr ... -
qmake 提示"has modification time 1.9e+07 s in the future"
2013-04-07 10:49 1747qmake有个要求就是它的pro文件的修改时间必须早于系统时间 ... -
[转]Moc的三种用法
2013-02-26 17:46 1704(原文地址:https://code.google.com/p ... -
QGraphicsWidget的geometry和boundingRect是什么关系?
2012-12-25 17:08 1554QGraphicsWidget的boundingRect的概念 ... -
QWebPage的linkClicked无效?
2012-07-22 16:53 1207调用一下QWebPage实例的setLinkDelegatio ... -
Qt 插件编译可过但加载失败时提示undefined symbol
2011-12-30 11:23 2019查一下是不是需要moc的头文件没有加入工程文件,在pro里HE ... -
Qt 国际化翻译失败的一个原因
2011-12-24 21:57 1917(本文系原创,如需转载请标明来自http://johnsmit ...
相关推荐
### 标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast和const_cast 在C++编程语言中,为了提高程序的可读性和安全性,C++标准库提供了多种类型的转换机制。其中,最常用的四种类型转换符包括:`...
"dynamic_cast, static_cast 和 reinterpret_cast" 在 C++ 编程中,类型转换是一个非常重要的概念。我们经常需要将一个类型的对象转换为另一个类型,以满足不同的需求。但是,类型转换也可能会引发一些错误和问题。...
这是使用`dynamic_cast`进行向下转型时的必要条件,因为`dynamic_cast`依赖于运行时类型信息(RTTI)来执行转换。如果尝试将非多态基类指针转换为派生类指针,编译器会报错。在`main`函数中,我们创建了一个`B`对象...
总的来说,"RTTI.rar_ RTTI_rtti"提供的资源是一个学习和实践C++运行时类型识别的好材料。通过研究这些内容,开发者可以提升在复杂系统设计中利用多态和类型信息的能力,从而编写出更加健壮和灵活的代码。
`dynamic_cast`依赖于运行时类型信息(RTTI),如果基类没有虚函数,`dynamic_cast`无法确定对象的真实类型,此时只能用于安全的向上转换。与`static_cast`不同,`dynamic_cast`在下转型时会检查转换是否有效。 3) ...
在C++编程中,`dynamic_cast`是一种运行时类型检查和转换工具,它允许程序员在多态性系统中安全地转换指针或引用。然而,`dynamic_cast`的使用可能会带来性能上的开销,特别是在大量对象转换的情况下。"Priori-快速...
当一个基类指针或引用可能指向一个派生类的对象时,`dynamic_cast`可以确保在转换过程中不会出现错误。如果转换是安全的,即指针或引用确实指向了正确的派生类型,那么转换将会成功;否则,`dynamic_cast`将执行相应...
RTTI主要通过三个关键字来实现:`dynamic_cast`、`typeid`和`__typeof__`(在早期的Microsoft Visual C++中使用)。这些关键字帮助开发者在运行时执行类型检查和转换。 1. `dynamic_cast`:用于类型安全的向下转型...
首先,RTTI提供了两个主要的操作符:`dynamic_cast`和`typeid`。`dynamic_cast`用于类型转换,尤其是在多态性中,可以将基类指针或引用安全地转换为派生类指针或引用。如果转换不成功,它会返回`nullptr`或者抛出一...
在上述文档中,作者探讨了如何在实际编程中使用RTTI,特别是通过`dynamic_cast`进行类型转换,并提出了一种简化转换的模板函数`same_hierarchy_cast`。 首先,RTTI的主要用途是在编译时期类型信息不足以确定对象...
`dynamic_cast`是一种运行时类型识别(RTTI,Run-Time Type Information)的工具,用于在具有多态性的类层次结构中执行安全的向下转型。 首先,我们需要理解`dynamic_cast`的工作原理。`dynamic_cast`主要用于指针...
本资料“RTTI.zip_DELPHI RTTI_delphi_rtti”包含了关于如何在Delphi中利用RTTI的实例和演示。 1. **RTTI基础知识** - RTTI的概念:RTTI是在编译期间由编译器生成并存储在可执行文件中的元数据,它提供了一种方法...
1. `dynamic_cast`:这是RTTI的核心操作之一,用于在运行时进行安全类型转换。例如,从基类指针或引用转换为派生类指针或引用,或者从指向void指针的转换。如果转换不成功,`dynamic_cast`会返回空指针(对于指针)...
`dynamic_cast`只能用于指向具有虚析构函数的类的对象,这是为了支持运行时类型信息(RTTI)。 4. `reinterpret_cast`: `reinterpret_cast`是最宽松的类型转换,它可以将任何类型转换为任何其他类型,包括原始...
对指针进行dynamic_cast,失败返回null,成功返回正常cast后的对象指针; 对引用进行dynamic_cast,失败抛出一个异常,成功返回正常cast后的对象引用。 注意:dynamic_cast在将父类cast到子类时,父类必须要有虚...
本文将深入探讨 C++ 中的 RTTI 机制,特别是 `dynamic_cast` 和 `typeid` 的工作原理。 #### 二、基础知识 在深入了解 RTTI 的细节之前,我们需要先了解一些基础知识。 **1. 类型信息** 在 C++ 中,每个类型都...
RTTI主要提供了两个关键的C++关键字:`dynamic_cast`和`typeid`。`dynamic_cast`用于安全地向下转型,可以在运行时检查一个指针或引用是否可以转换为另一种类型,如果不能则返回空指针或抛出异常。例如,如果你有一...
其中,`dynamic_cast`是与RTTI紧密相关的转换,它用于从基类指针或引用安全地转换为派生类类型。`dynamic_cast`在运行时进行检查,只有当转换是安全的,即实际对象确实是可以转换的派生类类型,转换才会成功。如果...
在本示例"rtti.zip_rtti_zip"中,我们将探讨如何在Delphi中使用RTTI。 首先,让我们理解RTTI的基本概念。在Delphi中,每个类都有一个与之关联的类型信息表,其中包含了类的名称、基类、属性、方法、字段等详细信息...