我收到此错误 - 错误:const类型'const char'
的对象的默认初始化我的代码在c中,错误在我的.h文件中..这就是代码看起来是错误的
const char *c2ptr[37]={ 0, 4, 8,11,14,16,18,20,23,25,
27,29, 3,31,34,37, 3, 3,39,44,
48,51,54,57,60, 3,62,65, 3,68,
72,75, 3,77,79,81,84},
ch,inif,*fname,
comf[4]={ 7, 8, 9,13};
所以...错误全部弹出ch,inif,* fname ...它是否与它们不是数组的事实有关?据我所知这是合法的。
答案 0 :(得分:2)
您的代码声明了四个变量:
c2ptr
const char*
ch
char
inif
char
fname
const char*
comf
char
首先,c2ptr
是const char*
(字符串)的数组,但您的代码会将其初始化为int
,{ 0, 4, 8, 11, ... }
的列表。
其次,您的变量ch
和inif
是常量,但尚未为它们分配值。由于不能更改常量变量,因此必须在声明中为它们分配值。 (这可能是给你错误的原因。)
答案 1 :(得分:1)
您为const char *
指针声明了数组,并使用int
对其进行了初始化,也许您的意思是
static const char *c2ptr[37] = {
"0", "4", "8", "11", "14", "16", "18", "20", "23", "25",
"27", "29", "3", "31", "34", "37", "3", "3", "39", "44",
"48", "51", "54", "57", "60", "3", "62", "65", "3", "68",
"72", "75", "3", "77", "79", "81", "84"
};