c++ - 如何将变量声明为 char* const*?
问题描述
我有一个 bluez 头文件get_opt.h
,其中argv
有一个参数:
extern int getopt_long (int ___argc, char *__getopt_argv_const *___argv,.....
这char* const*
需要argv
. 因为该单元是从我试图模拟的不同文件中调用的,但是无论 declaring和使用argv
的排列如何char
,我都会得到 unqualified-id 或编译器抱怨不转换为. 当然,我可以轻松获得。使用 C++14 在 Netbeans 中编译正常,但const
*
char* const*
const char *
char const * argv = "0";
char * const * argv = "0";
生产
“错误:在初始化(原文如此)中无法将 'const char *' 转换为 'char * const *'”。
你如何声明char* const*
或者我将 C 与 C++ 混合,所以我走错了树?
解决方案
让我们回顾一下指针声明:
char * -- mutable pointer to mutable data.
char const * -- mutable pointer to constant data.
char * const -- constant pointer to mutable data.
char const * const -- constant pointer to constant data.
从右到左读取指针声明。
看描述,你想要哪种指针?
推荐阅读
- java - 在表格中显示属性
- r - 在 R 中的 duplicated() 中使用无与伦比的参数
- java - 我可以使用 HTML 为我的桌面应用程序定义 GUI 吗?
- reactjs - 使用 ReactJS 和 Laravel 向服务器(文件)发送请求
- java - 线程“主”java.lang.Error 中的异常:未解决的编译问题
- python - 如何在 Python 中使用变量打印(dir(module))?
- node.js - node.js multer Route.post() 回调
- r - 在变量中使用字符串来创建新的变量名
- c# - 从另一个窗口中的按钮命令更改文本框的 IsEnabled 属性不起作用?
- javascript - 如何使用 Ajax 将数组值从 Javascript 格式化为 Java Servlet