linux下编译C++代码报错,报错信息"field has incomplete type"。这种问题一般都是在头文件对类或者结构体进行了前向声明,后面使用了该类定义了对象,导致编译报错。
原因在于前向声明类或者结构体,此时编译器还不知道定义,无法知道类内部成员,所以无法构造实例对象,因此前向声明的类或者结构体只能用来定义指针或者引用。
示例代码:

class TFriger;
template <typename T>
class TRecordList;  class TCatch
{
public:  TCatch(TObj * pObj);  virtual ~TCatch();  private:  TRecordList<TFriger> tFriger;   //类TFriger实例化对象会报错
};  class TCatch
{
public:  TCatch(TObj * pObj);  virtual ~TCatch();  private:  TRecordList<TFriger> *pFriger;   //此处定义指针就不会报错
}; 

编译报错field has incomplete type相关推荐

  1. 编译报错:has incomplete type 不完全的类型

    has incomplete type问题及解决 在编译Linux C应用程序时,gcc如果报这种错误:has incomplete type(不完全的类型),往往是由于出现与系统重复的头文件导致 示 ...

  2. 程序编译是出现“field has incomplete type“问题的解决

    程序编译是出现"field has incomplete type"问题的解决 参考文章: (1)程序编译是出现"field has incomplete type&qu ...

  3. 程序编译是出现field has incomplete type问题的解决

    类或结构体的前向声明只能用来定义指针对象或引用,因为编译到这里时还没有发现定义,不知道该类或者结构的内部成员,没有办法具体的构造一个对象,所以会报错. 将类成员改成指针就好了. 程序中使用incomp ...

  4. C语言编译报错:incompatible pointer type [-Wincompatible-pointer-types](传参类型不匹配)

    代码: //arnold add 20211213size_t save_video_box_buffer_size = 1920*1080*3/2;char* save_video_box_buff ...

  5. Qt 编译报错 error: invalid use of incomplete type 'class QXxx'

    编译报错 头文件中信号: signals:sendStrm(QString str);sendSize(QSizeF size); 信号类,槽函数所在类,单独编译都没问题,到了项目编译,就出错:类名不 ...

  6. 【错误记录】Kotlin 编译报错 ( Type mismatch: inferred type is String? but String was expected )

    文章目录 一.报错信息 二.解决方案 一.报错信息 Google Play 上架要求 Android 的编译版本 和 目标版本都要高于 30 才可以上传 ; 将 Android 的编译版本 和 目标版 ...

  7. 报错Field Mapper in xxx.xxxServiceImpl required a bean of type ‘dao.xxxMapper‘ that could not be found

    报错Field Mapper in xxx.xxxServiceImpl required a bean of type 'dao.xxxMapper' that could not be found ...

  8. SpringBoot报错Field userService in XXTestController required a bean of type 'XX' that could not be...

    运行SpringBoot项目报错Field userService in XXXTestController required a bean of type 'XXX' that could not ...

  9. [Linux Audio Driver] 移植外部CODEC常见编译报错解决(持续更新)

    0. 背景 最近一直在调试codec芯片,好多代码FAE给的和平台不适配,比如结构体改了之类的,一些编译问题老是忘记,就想着顺手写下总结. 1. function definition is not ...

最新文章

  1. AI一分钟|美国第一家!Waymo商业自动驾驶打车服务正式获批
  2. 虚拟化,可实现国产化替代
  3. 简单的小程序实现ATM机操作
  4. mysql倍增表的内容,mysql - DATEDIFF不会在触发器内倍增 - SO中文参考 - www.soinside.com...
  5. asp.net应用程序无法连接oracle数据库,2020:ASP连接Oracle数据库问题的解决过程
  6. 第八章 程序的分支结构
  7. linux下Jdk版本切换
  8. Vehicle Spy3软件常用功能之总线负载率
  9. P2339 [USACO04OPEN]Turning in Homework G 笔记/题解
  10. 算法设计和分析 ② 分治和递归
  11. linux源码阅读神器,Ubuntu下安装LXR Linux源代码阅读利器
  12. 校招社招互联网面试经验总结
  13. tokenizer.encode、tokenizer.tokenize、tokenizer.encode_plus的用法差异
  14. 【深度学习】手把手教你使用CNN进行交通标志识别(已开源)
  15. spring-IOC-三更的扩展版
  16. linux查看内存的生产商,linux下查看CPU.内存型号.pci 转自《Ivan-blog》
  17. C++中的Aggregate
  18. java list 转json对象_JSON--List集合转换成JSON对象
  19. 国产ETL工具 BeeDI 产品“实时同步“之 高阶 功能组件
  20. 加密算法之MD5算法

热门文章

  1. CVPR和ICLR双榜公布,最离谱审稿人竟然没读论文!
  2. YOLObile:面向移动设备的「实时目标检测」算法
  3. ORB-SLAM中的ORB特征(提取)
  4. FDDWNET:模型参数仅为0.8M,速度和准确率综合性能在轻量级分割网络中达到SOTA
  5. QT+VS打包发布流程该怎么做?
  6. 编程实现灰度处理函数
  7. Nat. Mach. Intell. | 基于深度学习预测DNA甲基化位点
  8. 应用心理学跨考计算机难不难,跨专业心理学考研难不难 主要学什么
  9. netty发送数据_【Netty】JAVA IO模型
  10. Anaconda入门使用指南(二)