dynamic_cast(int *到int *)-编译错误

埃里克·阿布拉莫夫(Eric Abramov)

对于以下代码:

int i = 8;

int * p_i = &i;
int * p_j;

if (typeid(p_i) != typeid(p_j))
{
     p_j= dynamic_cast<int *>(p_i);
}

我收到以下编译错误:

错误:无法将dynamic_cast'p_i'(类型'int *')转换为'int *'(目标不是指针或对类的引用)

我想念什么?

PS:这是我得到的行为的简化示例(带有模板函数等),因此请不要尝试在此代码段中找到任何目的。

UPD:由于此代码是模板函数的一部分,所以我不知道自己是否获得了完整的类或原语-这就是原因。

萨胡

正如编译器错误指出的那样,您不能使用dynamic_cast强制转换为int*

使用reinterpret_cast了点。

从C ++ 11标准:

5.2.7动态转换[expr.dynamic.cast]

1表达式dynamic_cast<T>(v)的结果是将表达式转换v为type的结果TT应为完整类类型的指针或引用,或为“ cv void的指针”。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

模板类的 dynamic_cast 编译错误

来自分类Dev

编译错误-数组下标的类型'char [int]'无效

来自分类Dev

使用 set<set<int> > 迭代器的编译错误

来自分类Dev

dynamic_cast错误

来自分类Dev

为什么打印出最大int会导致golang编译错误?

来自分类Dev

编译错误:“没有匹配函数调用'std :: vector <Card *> :: insert(int,Card *&)'” C ++

来自分类Dev

使用Equals比较Enum和const int时未出现编译错误

来自分类Dev

无法将“卡片”转换为“int”-C++ 编译错误

来自分类Dev

Java - 获取编译错误不兼容的类型 int 无法转换为 [][]

来自分类Dev

dynamic_cast到通用数组

来自分类Dev

编译错误:尝试将数组分配给数组时,从不兼容的类型“char”分配给“int”

来自分类Dev

错误:从'const int *'到'int *'的无效转换

来自分类Dev

导航到IDEA中的实际编译错误

来自分类Dev

绑定到boost :: function类成员编译错误

来自分类Dev

如何使xcodebuild打印编译错误和警告到stderr?

来自分类Dev

升级到2.0.0后Flutter项目编译错误

来自分类Dev

绑定到boost :: function类成员编译错误

来自分类Dev

dynamic_cast导致bad_cast错误

来自分类Dev

编译器错误:从int *到unsigned int *的无效转换[-fpermissive]

来自分类Dev

dynamic_cast 到派生类返回 nullptr

来自分类Dev

编译器可以优化dynamic_cast吗?

来自分类Dev

错误类型转换void指针到int

来自分类Dev

错误:从'int'到enum C ++的无效转换

来自分类Dev

模型绑定到列表编辑器用于编译错误

来自分类Dev

从Xcode 6 Beta 6升级到Xcode 6.0.1后编译错误

来自分类Dev

升级到Xcode 6.1时AppDelegate.swfit中出现编译错误

来自分类Dev

试图升级到Swift 1.2的令人困惑的编译错误

来自分类Dev

从ACRA 4.5升级到ACRA 4.6后的编译错误

来自分类Dev

将AudioKit iOS应用移植到Catalyst macOS应用时出现编译错误

Related 相关文章

  1. 1

    模板类的 dynamic_cast 编译错误

  2. 2

    编译错误-数组下标的类型'char [int]'无效

  3. 3

    使用 set<set<int> > 迭代器的编译错误

  4. 4

    dynamic_cast错误

  5. 5

    为什么打印出最大int会导致golang编译错误?

  6. 6

    编译错误:“没有匹配函数调用'std :: vector <Card *> :: insert(int,Card *&)'” C ++

  7. 7

    使用Equals比较Enum和const int时未出现编译错误

  8. 8

    无法将“卡片”转换为“int”-C++ 编译错误

  9. 9

    Java - 获取编译错误不兼容的类型 int 无法转换为 [][]

  10. 10

    dynamic_cast到通用数组

  11. 11

    编译错误:尝试将数组分配给数组时,从不兼容的类型“char”分配给“int”

  12. 12

    错误:从'const int *'到'int *'的无效转换

  13. 13

    导航到IDEA中的实际编译错误

  14. 14

    绑定到boost :: function类成员编译错误

  15. 15

    如何使xcodebuild打印编译错误和警告到stderr?

  16. 16

    升级到2.0.0后Flutter项目编译错误

  17. 17

    绑定到boost :: function类成员编译错误

  18. 18

    dynamic_cast导致bad_cast错误

  19. 19

    编译器错误:从int *到unsigned int *的无效转换[-fpermissive]

  20. 20

    dynamic_cast 到派生类返回 nullptr

  21. 21

    编译器可以优化dynamic_cast吗?

  22. 22

    错误类型转换void指针到int

  23. 23

    错误:从'int'到enum C ++的无效转换

  24. 24

    模型绑定到列表编辑器用于编译错误

  25. 25

    从Xcode 6 Beta 6升级到Xcode 6.0.1后编译错误

  26. 26

    升级到Xcode 6.1时AppDelegate.swfit中出现编译错误

  27. 27

    试图升级到Swift 1.2的令人困惑的编译错误

  28. 28

    从ACRA 4.5升级到ACRA 4.6后的编译错误

  29. 29

    将AudioKit iOS应用移植到Catalyst macOS应用时出现编译错误

热门标签

归档