+ -
当前位置:首页 → 问答吧 → 想把二维数组的数组名,放到另外一个数组中,编译不过,哪错了呢?

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

时间:2011-12-22

来源:互联网

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

两个二维数组定义如下:

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 *'

应该怎么改呢?

作者: diniken   发布时间: 2011-12-22

是里提示是说是char型指针不能转换成char*类型,你可以这样改,const char nuCityAllBuff[]= {ncCityHBiBuff, ncCityHB2Buff};char *p = nuCityAllBuff;

作者: zhuixunzhe2009   发布时间: 2011-12-22

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,  
};

作者: yulinlang   发布时间: 2011-12-22

你的二维数组指针的类型是 const char [10][20]
另一个数组的 类型却是 const char*
当然不可以

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

作者: tempname1008   发布时间: 2011-12-22

引用 2 楼 yulinlang 的回复:
C/C++ code
const char ncCityHB1Buff[][20]={
{"河北省HB1-1"},
{"河北省HB1-2"},
{"河北省HB1-3"},
{"河北省HB1-4"},
{"河北省HB1-5"},
{"河北省HB1-6"},
{"河北省HB1-7"},
{"河北省HB1-8"},
……

顶!

作者: zhao4zhong1   发布时间: 2011-12-22

引用 2 楼 yulinlang 的回复:
C/C++ code
const char ncCityHB1Buff[][20]={
{"河北省HB1-1"},
{"河北省HB1-2"},
{"河北省HB1-3"},
{"河北省HB1-4"},
{"河北省HB1-5"},
{"河北省HB1-6"},
{"河北省HB1-7"},
{"河北省HB1-8"},
……


+1

作者: ycguhang   发布时间: 2011-12-22