想把二维数组的数组名,放到另外一个数组中,编译不过,哪错了呢?
想把二维数组的数组名,放到另外一个数组中,编译不过,哪错了呢?
两个二维数组定义如下:
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 *'
应该怎么改呢?
[解决办法]
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])