wx00882 2023-07-23 10:53 采纳率: 0%
浏览 74

uint16——t没有定义

为什么是未定义 uint16——t 改为void 又是错误的,我在h文件给了头部 头大

img

img

img

  • 写回答

3条回答 默认 最新

  • 源码时代网 2023-07-23 11:08
    关注

    uint16_t 是一个无符号短整型的数据类型,表示取值范围在[0, 65535]之间的整数。而 void 是一种特殊的数据类型,用于表示无返回值的函数或指针。

    将 uint16_t 改为 void 是错误的,因为它们是完全不同的数据类型,没有语法上的兼容性。

    您提到在头文件中提供了适当的头部声明,但是如果在声明的地方将 uint16_t 改为 void,仍然是错误的。函数或变量的类型必须与其声明一致。

    请确保在代码中正确地使用适当的数据类型,并保持一致性。

    评论
    wx00882 2023-07-23 11:44

    那我应该怎么做 这个uint16 compare未定义

    回复
  • 伍六七0804 2023-07-24 01:37
    关注

    添加头文件#include "stdint.h"就有uint16_t 了

    评论
  • CSDN-Ada助手 CSDN-AI 官方账号 2023-07-24 13:59
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:
    • 以下回答由chatgpt基于相关博客总结生成:

      首先,根据问题描述,出现 "uint16-t没有定义的错误" 的原因可能是由于 uint16_t 这个数据类型没有正确地定义或者没有引入相关的头文件。下面是一些可能的解决方案:

      1. 检查头文件引入:在使用 uint16_t 之前,确保正确引入了相关的头文件。通常情况下,需要包含 <stdint.h> 头文件来使用 uint16_t 类型。请确保你的代码中有这条引入语句:
      #include <stdint.h>
      
      1. 检查数据类型定义:确保你的代码中正确定义了 uint16_t 数据类型。uint16_t 是一个无符号的 16 位整数数据类型,往往会用于数据长度、端口号等场景。请确保你的代码中有类似以下的定义语句:
      typedef unsigned short uint16_t;
      
      1. 编译器兼容性问题:有时候不同的编译器对于标准库的支持程度不同,可能会导致一些数据类型的定义不兼容。这种情况下,可以考虑使用其他的整数类型或者尝试使用其他的编译器。

      尝试了以上的解决方案之后,如果问题仍然存在,请提供更多的上下文信息、错误信息或者相关的代码片段,以便我们更好地理解和定位问题的原因,并给出相应的解决方案。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部