【发布时间】:2013-04-03 22:22:20
【问题描述】:
最近需要声明一个字符串数组,所以写下如下语句:
const char** directories = {"cricket_batting", "cricket_bowling", "croquet", "tennis_forehand", "tennis_serve", "volleyball_smash"};
但是,g++ 向我显示了错误:
error: scalar object ‘directories’ requires one element in initializer
所以我把语句改成这样:
const char* directories[] = {"cricket_batting", "cricket_bowling", "croquet", "tennis_forehand", "tennis_serve", "volleyball_smash"};
这一次,是对的。但我无法确切知道char** 和char[] 之间的区别。
【问题讨论】:
-
第一个是指向指针的指针,第二个是指针数组。
{ ... }用于数组(和结构),但不用于指针。这就是你的第一个没有编译的原因。 -
@JoachimPileborg 我觉得深度不够。题目很大,没想到OP看了我的三句话就突然明白了。
-
@john 我知道你在说什么。也许我无法清楚地表达我的问题.. 接受的答案是完美的。谢谢!
标签: c++