【error】error: field * has incomplete type
在编译程序是出现了如题错误, 类或结构体有前向声明的用法,编译到这里时还没有发现定义,不知道该类或者结构的内部成员,没有办法具体的构造一个对象,所以会报错。
两种解决方法:
方法一:将类成员改成指针就好了;
方法二:将结构体定义放同一个地方。
类或结构体的前向声明只能用来定义指针对象或引用,因为编译到这里时还没有发现定义,不知道该类或者结构的内部成员,没有办法具体的构造一个对象,所以会报错。
将类成员改成指针就好了。 程序中使用incomplete type实现前置声明有助与实现数据的隐藏。要求调用对象的程序段只能使用声明对象的引用或者指针。
在显式声明异常规范的时候不能使用incomplete type。
【error】error: field * has incomplete type相关推荐
- 【异常】Error: ERROR 1012 (42M03): Table undefined. (state=42M03,code=1012)
[异常]Error: ERROR 1012 (42M03): Table undefined. (state=42M03,code=1012) 参考文章: (1)[异常]Error: ERROR 10 ...
- 【MySQL】ERROR 1045 (28000): Access denied for user的解决方法
[MySQL]ERROR 1045 (28000): Access denied for user的解决方法 参考文章: (1)[MySQL]ERROR 1045 (28000): Access de ...
- 【笔记】Error while loading PyV8 binary: exit code 1解决方法
[笔记]Error while loading PyV8 binary: exit code 1解决方法 参考文章: (1)[笔记]Error while loading PyV8 binary: e ...
- QT5对话框的中文字符串【乱码】 (error: C2001: 常量中有换行符)
问题解决:对话框的中文字符串[乱码] (error: C2001: 常量中有换行符) 假设编译环境:QT5+vs2015 项目配置: 默认编码:UTF-8 UTF-8 BOM: 目前存在了则保留 如果 ...
- 在linux 下编译c程序时“ error:dereferencing pointer to incomplete type”的问题
在linux 下编译c程序时经常会遇到" error:dereferencing pointer to incomplete type"的问题,该问题的原因是:结构体定义不规范造成 ...
- 【Koa】Error: Cannot find module ‘koa-router‘
[Koa]Error: Cannot find module 'koa-router' 报错如下 解决办法 执行以下命令 安装koa-router 即可解决此问题 npm install koa-ro ...
- 【VS】error MSB8020: 无法找到 v142 的生成工具(平台工具集 =“v142”)。若要使用 v142 生成工具进行生成,请安装 v142 生成工具
[VS]error MSB8020: 无法找到 v142 的生成工具(平台工具集 ="v142").若要使用 v142 生成工具进行生成,请安装 v142 生成工具 别人用的vs2 ...
- error :dereferencing pointer to incomplete type解决办法
C代码编译时出现如下错误: error :dereferencing pointer to incomplete type 即引用指针到不完全的类型 引起该错误的原因是指针指向的结构体类型没有定义. ...
- 【错误】expected constructor, destructor, or type conversion before '.' token - 第八个游侠的日志 - 网易博客...
[错误]expected constructor, destructor, or type conversion before '.' token - 第八个游侠的日志 - 网易博客 [错误]expe ...
- 编译报错field has incomplete type
linux下编译C++代码报错,报错信息"field has incomplete type".这种问题一般都是在头文件对类或者结构体进行了前向声明,后面使用了该类定义了对象,导致 ...
最新文章
- 最新开源LiDAR数据集LSOOD:四种常见的室外物体分类
- CS5中动作和批处理
- 为何python不好找工作k-给急着找工作的人一些建议,别在被骗了!
- 智能工作:人工智能将如何重塑远程工作
- 大世界游戏制作:《幽灵行动·荒野》程序化技术介绍
- MFC图像点运算之灰度线性变化、灰度非线性变化、阈值化和均衡化处理
- python+flask编写一个简单的登录接口例子
- mybatis--面向接口编程
- Windows 2003中如何启动IIS6的GZIP压缩网页传输(补充)
- Deep learning:三十四(用NN实现数据的降维)
- sqli-labs(19)
- 【转】保证训练集和测试集取到和数据集中相同比例的类别
- mysql 如何避免间隙锁_Mysql Innodb 间隙锁浅析
- php mov格式转换,mov格式怎么转换成mp4 如何将mov转换成mp4
- linux 目录 特殊符号,Linux常见特殊符号
- 快速美化封面用word就可以
- 2018.11.5 PION模拟赛
- 区块链安全————区块链技术安全讨论
- 简介Bitmap、YUV,NV21与Bitmap互转
- 浅析手机网页制作流程
热门文章
- android 程序 读logo,Android端APP更换logo和名称后都需要些测试哪些内容呢?
- android 可折叠标题栏,ViewPager + Fragment + 折叠式标题栏异常
- java应用窗口大小_java 如何让程序窗口随屏幕大小改变 | 学步园
- mysql 导出中间 数据_MYSQL数据库之间的数据导出与导入
- Dijkstra(迪杰斯特拉)算法简介
- C++:随笔4--对象
- PCL:点云中的超体素数据
- C++:while(getline())函数
- 基于双门限法的端点检测
- VS2010非永久性配置和永久配置Opencv