C++出现“field has incomplete type“问题的解决

2023-05-16

出现错误的原因一般类似下面这种代码:

struct Data {
	int n;
	Data p;// 出现错误
};

原因: 对于Data p,类型名被声明,但是该类还未定义完整,使用声明时,会导致field has incomplete type错误;
解释: 在编译器扫描的过程中,将类的成员读取完成后,才会定义该类,此时类才算完整;按照以上情况,Data p时,类还未定义,无法调用(显示/隐式)构造函数初始化p。
解决办法:

  1. 使用指针定义
	Data *p;
  1. 改为静态成员定义
	static Data p;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++出现“field has incomplete type“问题的解决 的相关文章

  • 如何使 HTML5 数字字段显示尾随零?

    我有一个字段
  • 如何避免将由 display:none 隐藏的输入字段发送到服务器?

    假设您有一个表单 可以在其中切换多个字段的可见性 如果该字段未显示 您不希望其值出现在请求中 你如何处理这种情况 将表单元素设置为禁用将阻止其发送到服务器 例如
  • 如何获取结构转储中字段的相对地址。 [C]

    我们正在开发一个在Linux下用arm eabi gcc编译的C程序 我们正在使用大型结构的转储 并且在确定应该在哪个地址读取结构的各个字段 例如其中 50 个 时遇到问题 内存对齐和填充对我来说不是那么可预测 有没有办法获得我们的编译器生
  • 枚举构造函数(创建成员的成员)

    在 D 中 我试图创建一个成员有成员的枚举 我可以通过一个例子更好地解释我想要做什么 其中s and i代表我试图创建的子成员 在Python中 我可以这样做 class Foo enum Enum A A string 0 B B str
  • 私有静态最终字段

    我只是想澄清这一点 有什么区别 private static int STUDENT AGE 18 and private static final int STUDENT AGE 18 领域内 乔恩 斯基特 Jon Skeet 解释为 与
  • 为什么Java中方法调用中间要使用括号?

    尽管我做了一些广泛的搜索 但我遇到了一些代码 但无法理解它的某些方面 我的问题是 为什么在方法调用中间使用括号 package com zetcode import java awt event ActionEvent import jav
  • 如何查找表单中重复的 id?

    我创建了一个包含大约 800 个字段的表单 不知不觉中 我为表单中的几个字段提供了相同的 id 如何追踪他们 The http validator w3 org http validator w3 org 将是方便的解决方案 但使用jque
  • 将 XML 中的数据字段提取到 Excel 中

    我有一个巨大的 Excel 电子表格 其中包含客户记录 其中每一列都是一个字段 有一个名为 人口统计 的字段 其中包含客户的调查结果 并且完全采用 XML 格式 也就是说 每个客户都有一份关于其人口统计信息的调查结果 如性别 婚姻状况 收入
  • 实体框架提供列名称作为字符串变量

    我正在寻找获得这样的东西的方法 string col1 first name string name var query from c in ctx Customers select c name query FirstOrDefault
  • 如何在 C# 中访问结构体(如数组)的成员?

    假设我有一个包含一百多个具有复杂名称的元素的结构 我使用 ref 将描述的结构类型的结构传递给函数 如下所示 void Foo ref mystruct a I want to modify members or fields of str
  • Firebird BLR 是否包含相关字段大小?

    Firebird 和 InterBase 以 BLR 标记化 格式保存存储过程和触发器的编译形式 但我不太了解BLR的结构 字段大小是 BLR 的一部分吗 当存储过程包含两个字段 源和目标 并且稍后我将更改这两个字段的大小时 我会遇到一些问
  • 使用 PHP 将 IP 地址存储在 MySQL 数据库中[重复]

    这个问题在这里已经有答案了 mysql 中 IP 地址的正确字段类型是什么 使用 PHP 存储它的正确方法是什么 本教程 http daipratt co uk mysql store ip address 可能对你有帮助 保存 IPv4
  • jquery datepicker 多个实例

    我制作了一个 RequestForQuote 表格 在其中我可以添加新职位以获取 RFQ 基本上 在我的例子中 通过 PHP 可以很容易地完成这一点 工作真的很好 您可能想看一下 可以在以下位置找到 我的网站 http www thermo
  • Java 兼容性的公共字段

    我最近对 Kotlin 作为一种语言很感兴趣 因为我们开发的平台是基于 Java 6 的 因此缺乏近年来为 Java 带来的任何语法糖 只有一件事使得在开发中无法使用 Kotlin 而不是 Java 那就是我们开发的平台在内部使用了一些反射
  • 在 Android 编辑文本字段中显示一条消息

    海 我有一个带有一个文本字段的 Android 程序 当它加载到模拟器上时 我需要在该文本字段内显示一条消息 当用户在该文本框中单击时 该消息应该消失 例如 请输入姓名 任何人都可以在这里发布一些示例代码吗 只需使用或致电setHint在物
  • 如何在 MS Access 中填充字段描述

    当通过 ODBC 尤其是 AS 400 链接到外部数据源时 我经常会在另一端遇到神秘的字段名称 而数据字典不可用 在极少数情况下 我能够从其他数据库获取字段描述 我希望能够一次导入它们 而不是一次将每个描述复制 粘贴到表设计表单中 我无法在
  • 为什么没有人接受 C# 中的公共字段?

    似乎每个 C 静态分析器在看到公共字段时都会抱怨 但为什么 当然 在某些情况下 公共 或内部 field就足够了 拥有一个拥有它的财产是没有意义的get and set 方法 如果我确定我不会重新定义该字段或添加该字段怎么办 副作用很糟糕
  • C# 如何使用反射调用字段初始值设定项?

    假设我有这个 C 课程 public class MyClass int a int b new int 6 现在假设我使用反射发现了这个类 并且在查看字段时我发现其中一个是数组类型 即 b foreach FieldInfo fieldi
  • 仅打印 drupal field_view_field 值

    我使用下面的代码将节点字段打印到特定区域 效果很好 但有一个例子 我只想打印没有标签的字段值 看起来应该很容易 但我遇到了一些麻烦 我很感激任何帮助 因为我对 drupal 还很陌生 谢谢 field view value 需要一个 dis
  • 如何通过模板中的变量访问对象字段?

    我有一个嵌套循环 columns columns range dx dataList range c columns index dx c end end dataList是orm模型数组 和ID Title字段 那么columns is

随机推荐