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“问题的解决 的相关文章

  • 如何将额外的属性字段添加到 asp.net 下拉列表中

    下面我可以设置值和文本 dropListUserImages DataValueField Value dropListUserImages DataTextField Text dropListUserImages Items Add n
  • 如何查找表单中重复的 id?

    我创建了一个包含大约 800 个字段的表单 不知不觉中 我为表单中的几个字段提供了相同的 id 如何追踪他们 The http validator w3 org http validator w3 org 将是方便的解决方案 但使用jque
  • 如何为特定输入类型文本添加CSS

    当我尝试用 css 添加一些输入字段时 我遇到了问题 我无法为某些输入字段制作多个 css 这是我拥有的字段
  • 在 Java 中处理多个构造函数的最佳方法

    我一直想知道在 Java 中处理多个构造函数的最佳 即最干净 最安全 最有效 方法是什么 特别是当在一个或多个构造函数中未指定所有字段时 public class Book private String title private Stri
  • Symfony2 Doctrine 无法识别的字段:

    我创建了一个实体来存储我通过 api 提取的一些数据 当我尝试 findByOne 查看该条目是否已存在时 我收到一条错误消息 指出该字段无法识别 我已经完成了 php 应用程序 控制台学说 schema update force 我可以在
  • 在 MATLAB 中组合两个结构体的有效方法有哪些?

    我想组合两个具有不同字段名称的结构 例如 从以下内容开始 A field1 1 A field2 a B field3 2 B field4 b 我想拥有 C field1 1 C field2 a C field3 2 C field4
  • C++ const public field 与 getter 方法

    我想为某个类的每个对象添加唯一的 ID 在单个会话内 一种解决方案是使用工厂函数来增加一些静态计数器 一个更简单的解决方案是将此计数器添加到类本身 例如 class fooWithUniqueId public fooWithUniqueI
  • 在 .net4 中使用带有 dbnull 值的 datareader

    我听说框架 4 中有一个字段扩展方法 允许从数据读取器接收空值 而不必经历第一次测试如果不为空则 等的过程 这里有关于扩展方法的信息 MSDN http msdn microsoft com en us library system dat
  • lucene 字段的 store 属性

    lucene Field有一个构造函数 Field String name String value Store store Index index 例如 我可以通过以下方式创建一个新字段 Field f1 new Field text T
  • 从 Sharepoint 日历扩展重复事件不适用于 ViewFields 查询

    我的帖子是继续通过 Web 服务扩展 Sharepoint 日历中的重复事件 https stackoverflow com questions 376142 expand recurring events from a sharepoin
  • Sharepoint 字段尚未在 C# 中初始化

    我正在编写一个代码 它将遍历共享点列表中的每个列表项并查找空字段 如果发现空字段 则会通过电子邮件通知负责该列表项的人员 我在线路中遇到错误val oListItem field Title 其中指出 属性或字段尚未初始化 尚未请求或请求尚
  • JPA中原生查询的字段值

    如何获取本机查询 JPA 中某些字段的值 例如我想获取客户表的姓名和年龄 Query q em createNativeQuery SELECT name age FROM customer WHERE id 注意 我不想将结果映射到实体
  • Sitecore + Lucene 搜索 FieldQuery 带空字符串

    我正在使用 FieldQuery 对象创建 Sitecore Ecommerce Search Query 然后 我使用 LuceneQueryBuilder 类将 Sitecore 查询转换为 Lucene Net Search Quer
  • 如何根据另一个字段的值禁止 TFS 要求工作项中的状态从“建议”更改为“活动”?

    I ve added department approvals to the standard CMMI Template Requirement work item I d like to limit the System State f
  • 使用数组字段代替大量对象

    鉴于本文 http www simple talk com dotnet net framework object overhead the hidden net memory allocation cost 我想知道人们在内存中使用数组存
  • 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
  • 重写继承的构造函数字段时的差异?

    考虑这个简单的 Scala 类 class A val d Int Scala 之间是否存在差异 无论是行为还是生成的字节码 class B d Int extends A d and class B override val d Int
  • 隐藏 Woocommerce 中的一些结帐字段问题

    即使使用后 我也发现隐藏某些结帐字段的问题 woocommerce checkout page add filter woocommerce checkout fields custom override checkout fields f
  • 覆盖子类中的字段或属性

    我有一个抽象基类 我想声明一个字段或属性 该字段或属性在从该父类继承的每个类中具有不同的值 我想在基类中定义它 以便我可以在基类方法中引用它 例如覆盖 ToString 来表示 此对象的类型为 property field 我有三种方法可以

随机推荐