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,则错误消失
修复

posted @   zjh6  阅读(11)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示