我在外国软件中找到了一个很好的 struct :
*struct YINIT yInit =
{
"bla", "miao", 1, 0, (uint16_t[])
{
SWAPINT(0x200)
}
};*
我不检查这个,我之前没见过。 你能帮忙理解这个吗?
我的问题是,编译器发出警告消息: 已弃用从字符串常量转换为'char '*
但是没有理解我无法帮助我的编译器...
答案 0 :(得分:1)
这声明并初始化类型为struct YINIT
的变量。你没有显示结构的定义,但错误很明显。
结构体具有类型char*
的成员,并且这些成员使用字符串文字进行初始化。在C ++ 11之前,这种转换仅仅被弃用,因此警告。由于C ++ 11这种转换格式不正确,编译器可能会选择不接受它。
解决方案:将成员类型更改为const char*
,或者不要将其初始化为指向字符串文字。