为什么我不能向接受const char ** 的函数传入char **?
2014-06-09 10:04
190 查看
为什么我不能向接受const char ** 的函数传入char **? 你可以向接受const-T 的指针的地方传入T 的指针(任何类型T 都适用)。但是, 这个允许在带修饰的指针类型上轻微不匹配的规则(明显的例外) 却不能递归应用, 而只能用于最上层。
如果你必须赋值或传递除了在最上层还有修饰符不匹配的指针, 你必须明确使用类型转换(本例中, 使用(const char **)), 不过, 通常需要使用这样的转换意味着还有转换所不能修复的深层次问题。
如果你必须赋值或传递除了在最上层还有修饰符不匹配的指针, 你必须明确使用类型转换(本例中, 使用(const char **)), 不过, 通常需要使用这样的转换意味着还有转换所不能修复的深层次问题。
相关文章推荐
- 为什么我不能向接受const char ** 的函数传入char **?
- 为什么不能够 向接受 const char ** 参数的函数,传入 char ** 参数?
- 为什么不能向接受const char **的函数出入char ** ?
- 为什么static 成员函数不能为const
- 为什么 char** 不能自动转化为 const char**
- C语言const与指针——为什么不能用char **给const char **赋值
- 为什么 char** 不能自动转化为 const char**
- C语言const与指针――为什么不能用char **给const char **赋值
- 为什么 char** 不能自动转化为 const char**
- 为什么静态成员函数不能是const
- C++的const类成员函数(解释为什么非const成员函数不能访问const对象的数据成员)
- C/C++ 为什么在函数内部修改形参并不能真正地改变传入形参的值?
- 为什么静态成员函数不能是const
- 为什么静态成员函数不能是const
- C语言const与指针——为什么不能用char **给const char **赋值
- C++里的静态成员函数为何不能用const?
- C++: VC6转VC8出现问题:error C2664: “fopen”: 不能将参数 1 从“CString”转换为“const char *”
- const char to LPCTSTR不能转化问题
- const char to LPCTSTR不能转化问题
- 为什么中断处理函数内不能休眠