char *与const char **函数参数传参问题

本文深入探讨了C++中函数参数传递的细节,特别是如何正确处理const限定符的指针参数。通过具体示例,解释了为何不能直接将char*转换为const char**,以及在遇到类型不匹配错误时的解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

传参方法

## 函数

extern void f2 ( const char ** ccc );


const char ch = 'X';
char * ch_ptr;
const char ** ch_pptr = &ch_ptr; // This is not allowed, because...

## 传参

f2(ch_ptr)

## 如果遇到报错

f2(const_cast<const char**>(ch_ptr));

参考

const char * vs. const char ** function argument [duplicate]
https://stackoverflow.com/questions/32096734/const-char-vs-const-char-function-argument
c++: why can't we convert char ** to const char ** [duplicate]
https://stackoverflow.com/questions/32779079/c-why-cant-we-convert-char-to-const-char

转载于:https://www.cnblogs.com/17bdw/p/10353434.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值