双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

关于static_cast 的一个简单问题?为什么不能从int**转换为void**

shuchao shuchao 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
int getVal = 10;
int *ptrGetVal = &getVal;
int **ptr2GetVal = &ptrGetVal;
void **temp = static_cast<void**>(ptr2GetVal);

就是这一段,编译出错,提示 invalid static_cast from type ‘int**’ to type ‘void**’
但是void *temp = static_cast<void*>(ptrGetVal);是没有问题的

请高人解释一下
...全文

相关推荐

static_cast,dynamic_cast,reinterpret_cast,const_cast的区别及用法详解

1.static_cast对类的指针只能转换有继承关系的类。对普通的指针来说只能在void*和其他指针之间转换。它还可转换简单的类型,比如int到char等。不能提供数字到指针的转换。不能提供不同类型指针之间的转换比如int*到char*。 2.dynamic_cast提供安全的转换如果两个指针不存在继承关系转换会失败返回空指针,如果你提供一个错误的指针那样会发生内存访问异常,因为它会去比较两个类型的虚函数表。虚函数表的指针一般放在对象指针最开始的四字节中,你去访问一个错误的地址这样肯定会发生异常。 3.reinterpret_cast提供数字到指针间的转换比如void*到int。提供不同类型

weixin_38663701

类型强制转换的区别(static_cast、dynamic_cast的区别)

类型强制转换的区别 static_cast dynamic_cast 的区别

bubble0531

详解C++中const_cast与reinterpret_cast运算符的用法

主要介绍了C++中const_cast与reinterpret_cast运算符的用法,经常被用于表达式中的类型转换,需要的朋友可以参考下

weixin_38700430

C++ 四种强制类型转换的总结

C++ 四种强制类型转换的总结

jiye1989

由static_cast和dynamic_cast到C++对象占用内存的全面分析

下面小编就为大家带来一篇由static_cast和dynamic_cast到C++对象占用内存的全面分析。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

weixin_38516380
评论 21
收藏 已收藏
分享
返回顶部
shuchao
C++ 语言 65,214 成员 250,514 内容