当前位置: 首页 > news >正文

C 语言报错 xxx incomplete type xxx

一般原因就是使用结构体的代码没有定义结构体。

举个例子,你有两个 .h 文件:

a.h

struct a {int x;int y;
};

b.h

struct b {int z;struct a *ap;
}; 

这里 b.h 使用了 a.h 里定义的结构体。

假设你现在有个 test.c 文件

#include <b.h>...
// 使用了 struct a 
... 

那么由于没有 #include <a.h>,就会报错 “xxx incomplete type xxx”

或者换一种情况,include 头文件的顺序不对

#include <b.h>
#include <a.h>...
// 使用了 struct a 
... 

根据经验,通常也会报错 “xxx incomplete type xxx”,这次发生在 b.h 里。

需要调换顺序,先 include a.h 再 include b.h,才能编译成功

相关文章:

  • STM32f103 标准库 零基础学习之按键点灯(不涉及中断)
  • 二叉搜索树讲解
  • Funplus 服务端开发实习 面经
  • robomaster机甲大师--电调电机
  • Transformer Decoder-Only 算力FLOPs估计
  • 仿真生成激光干涉包裹相位数据-用于深度学习训练!
  • 【信息系统项目管理师】第3章:信息系统治理 - 29个经典题目及详解
  • RHCSA Linux系统 Web页面 论坛 网盘的搭建
  • 架构思维:通用架构模式_怀疑下游的设计思路与最佳实践
  • 基于 TSBS 标准数据集下 TimescaleDB、InfluxDB 与 TDengine 性能对比测试报告
  • 花朵识别系统Python+深度学习+卷积神经网络算法+TensorFlow+人工智能
  • MySQL的索引分类
  • CSS 基础知识分享:从入门到注意事项
  • 基础框架搭建流程指南
  • 如何获取达梦数据库的官方文档?
  • 温湿度传感器SHT4X
  • SpringBoot 自动装配原理 自定义一个 starter
  • 【并发编程】Redisson 的分布式锁
  • 设计模式系列(1):总览与引导
  • 使用PHP对接印度股票市场API
  • 孙卫东会见巴基斯坦驻华大使:支持巴印两国实现全面持久停火
  • 我国7名优秀护理工作者荣获第50届南丁格尔奖
  • 上海交大计算机学院成立,设多个拔尖人才特色班
  • 上海工匠学院首届学历班56人毕业,新一届拟招生200人
  • 鄂州:锁死中小学教师编制总量,核减小学编制五百名增至初中
  • 智利观众也喜欢上海的《好东西》