首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

想把二维数组的数组名,放到另外一个数组中,编译不过,哪错了呢?解决方案

2012-03-26 
想把二维数组的数组名,放到另外一个数组中,编译不过,哪错了呢?想把二维数组的数组名,放到另外一个数组中,

想把二维数组的数组名,放到另外一个数组中,编译不过,哪错了呢?
想把二维数组的数组名,放到另外一个数组中,编译不过,哪错了呢?

两个二维数组定义如下:

const char ncCityHB1Buff[][20]={
{"河北省HB1-1"},
{"河北省HB1-2"},
{"河北省HB1-3"},
{"河北省HB1-4"},
{"河北省HB1-5"},
{"河北省HB1-6"},
{"河北省HB1-7"},
{"河北省HB1-8"},
{"河北省HB1-9"},
{"河北省HB1-A"},

};

const char ncCityHB2Buff[][20]={
{"河北省HB2-1"},
{"河北省HB2-2"},
{"河北省HB2-3"},
{"河北省HB2-4"},
{"河北省HB2-5"},
{"河北省HB2-6"},
{"河北省HB2-7"},
{"河北省HB2-8"},
{"河北省HB2-9"},
{"河北省HB2-A"},

};


想要把这2个数组名放到另外一个数组中

const char *nuCityAllBuff[]={
ncCityHB1Buff,
ncCityHB2Buff, 
};

提示错误:
cannot convert from 'const char [10][20]' to 'const char *'

应该怎么改呢?

[解决办法]

C/C++ code
const char ncCityHB1Buff[][20]={    {"河北省HB1-1"},    {"河北省HB1-2"},    {"河北省HB1-3"},    {"河北省HB1-4"},    {"河北省HB1-5"},    {"河北省HB1-6"},    {"河北省HB1-7"},    {"河北省HB1-8"},    {"河北省HB1-9"},    {"河北省HB1-A"},};const char ncCityHB2Buff[][20]={    {"河北省HB2-1"},    {"河北省HB2-2"},    {"河北省HB2-3"},    {"河北省HB2-4"},    {"河北省HB2-5"},    {"河北省HB2-6"},    {"河北省HB2-7"},    {"河北省HB2-8"},    {"河北省HB2-9"},    {"河北省HB2-A"},};typedef const char (*CityBuff)[20];CityBuff nuCityAllBuff[]={    ncCityHB1Buff,    ncCityHB2Buff,  };
[解决办法]
你的二维数组指针的类型是 const char [10][20]
另一个数组的 类型却是 const char*
当然不可以

要想放进去 1. 强制类型转换 #不过取出来用的时候还要转回去
2. 改变另一个数组的类型 为(const char [10][20])

热点排行