我尝试一次分配两个 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/