C++:在一行中为 char** 分配两个值?

标签 c++

我尝试一次分配两个 C 字符串:

 char **pair = {"name","joe"};

但我收到错误信息:

 'initializing' : cannot convert from 'const char [5]' to 'char **'

但我认为类似的东西以前对我有用吗?

最佳答案

你声明了一个指向指针的指针,但初始化器是一个指针的数组:

const char *pair[] = { "name", "joe" };

如前所述,我在声明中添加了 const 关键字。这是因为指针是指向字符串文字的指针,而文字是常量且无法更改。添加 const 有助于程序员避免错误地更改数组中的字符串。

关于C++:在一行中为 char** 分配两个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16537851/

相关文章:

c++ - 我怎样才能写成对的 list ?

c++ - 初始化具有大小的对象 vector 时出错

c++ - 允许函数指针类型的模板参数接受任何返回类型的函数

c++ - 使模板类型更具体(T => Certain<X>)以帮助内容辅助

android - 关于pjsip中的G729集成

c++ - 加载多纹理 opengl es 2.0

c++ - mysql/c++ 连接器错误 : Connection using old (pre-4. 1.1) 身份验证协议(protocol)被拒绝

c++ - 从麦克风到整数数组的音频采样(C++/Qt)

c++ - 数组元素打印的递归方法

C++ 在单词中查找字谜