ZBLOG

struct ether_hdr { struct ether_addr d_addr; /**< Destination address. */ struct ether_addr s_addr; /**< Source address. */ uint16_t ether_type; /**< Frame type. */ } ; vs2019报上面有"->": 非函数声明符后不允许尾随返回类型的原因

根据你提供的代码,该问题可能是因为在结构体中定义了函数指针,并且使用了尾随返回类型(trailing return type)。但是,尾随返回类型只能用于函数声明和定义中,不能用于非函数声明符后面。

解决方法:

  1. 如果确实需要在结构体中定义函数指针,则应将其定义为普通成员变量,而不是使用尾随返回类型。例如:
struct ether_hdr {
    struct ether_addr d_addr; /**< Destination address. */
    struct ether_addr s_addr; /**< Source address. */
    uint16_t ether_type;      /**< Frame type. */

    int (*func_ptr)(int, int); // 定义一个函数指针作为成员变量
};
  1. 如果不需要在结构体中定义函数指针,则应该检查是否有误操作或者语法错误导致该问题出现。例如,可能是误将一个普通变量后面加上了尾随返回类型。

总之,在使用 VS2019 编译器时遇到类似问题时,建议仔细检查代码逻辑和语法规范。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://sdn.0voice.com/?id=1183

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?