编译报错field has incomplete type
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相关推荐
- 编译报错:has incomplete type 不完全的类型
has incomplete type问题及解决 在编译Linux C应用程序时,gcc如果报这种错误:has incomplete type(不完全的类型),往往是由于出现与系统重复的头文件导致 示 ...
- 程序编译是出现“field has incomplete type“问题的解决
程序编译是出现"field has incomplete type"问题的解决 参考文章: (1)程序编译是出现"field has incomplete type&qu ...
- 程序编译是出现field has incomplete type问题的解决
类或结构体的前向声明只能用来定义指针对象或引用,因为编译到这里时还没有发现定义,不知道该类或者结构的内部成员,没有办法具体的构造一个对象,所以会报错. 将类成员改成指针就好了. 程序中使用incomp ...
- 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 ...
- Qt 编译报错 error: invalid use of incomplete type 'class QXxx'
编译报错 头文件中信号: signals:sendStrm(QString str);sendSize(QSizeF size); 信号类,槽函数所在类,单独编译都没问题,到了项目编译,就出错:类名不 ...
- 【错误记录】Kotlin 编译报错 ( Type mismatch: inferred type is String? but String was expected )
文章目录 一.报错信息 二.解决方案 一.报错信息 Google Play 上架要求 Android 的编译版本 和 目标版本都要高于 30 才可以上传 ; 将 Android 的编译版本 和 目标版 ...
- 报错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 ...
- 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 ...
- [Linux Audio Driver] 移植外部CODEC常见编译报错解决(持续更新)
0. 背景 最近一直在调试codec芯片,好多代码FAE给的和平台不适配,比如结构体改了之类的,一些编译问题老是忘记,就想着顺手写下总结. 1. function definition is not ...
最新文章
- AI一分钟|美国第一家!Waymo商业自动驾驶打车服务正式获批
- 虚拟化,可实现国产化替代
- 简单的小程序实现ATM机操作
- mysql倍增表的内容,mysql - DATEDIFF不会在触发器内倍增 - SO中文参考 - www.soinside.com...
- asp.net应用程序无法连接oracle数据库,2020:ASP连接Oracle数据库问题的解决过程
- 第八章 程序的分支结构
- linux下Jdk版本切换
- Vehicle Spy3软件常用功能之总线负载率
- P2339 [USACO04OPEN]Turning in Homework G 笔记/题解
- 算法设计和分析 ② 分治和递归
- linux源码阅读神器,Ubuntu下安装LXR Linux源代码阅读利器
- 校招社招互联网面试经验总结
- tokenizer.encode、tokenizer.tokenize、tokenizer.encode_plus的用法差异
- 【深度学习】手把手教你使用CNN进行交通标志识别(已开源)
- spring-IOC-三更的扩展版
- linux查看内存的生产商,linux下查看CPU.内存型号.pci 转自《Ivan-blog》
- C++中的Aggregate
- java list 转json对象_JSON--List集合转换成JSON对象
- 国产ETL工具 BeeDI 产品“实时同步“之 高阶 功能组件
- 加密算法之MD5算法
热门文章
- CVPR和ICLR双榜公布,最离谱审稿人竟然没读论文!
- YOLObile:面向移动设备的「实时目标检测」算法
- ORB-SLAM中的ORB特征(提取)
- FDDWNET:模型参数仅为0.8M,速度和准确率综合性能在轻量级分割网络中达到SOTA
- QT+VS打包发布流程该怎么做?
- 编程实现灰度处理函数
- Nat. Mach. Intell. | 基于深度学习预测DNA甲基化位点
- 应用心理学跨考计算机难不难,跨专业心理学考研难不难 主要学什么
- netty发送数据_【Netty】JAVA IO模型
- Anaconda入门使用指南(二)