d不能用非常指针赋值常又
typedef union value_u {
void *p;
} value_t;
typedef struct data_s {
void *p;
} data_t;
void fn()
{
value_t a;
const value_t b;
// 错误:无法隐式转换`const(value_u)`类型的b表达式为`value_u`
a = b;
data_t aa;
const data_t bb;
// 错误:无法隐式转换`const(data_s)`类型的bb表达式为`data_s`
aa = bb;
}
-如果把"void*p"设为非指针类型,则错误消失
-如果把常变量更改为使用原始名称而不是typedef,则错误消失
修复
浙公网安备 33010602011771号