【问题标题】:aggregate has incomplete type and cannot be defined聚合的类型不完整,无法定义
【发布时间】:2014-05-20 10:09:16
【问题描述】:

我被这个难住了:

SpanLogger_c.h

#ifndef SPANLOGGERCH #define SPANLOGGERCH 结构 CSpan { int64_t trace_id; }; #万一

main.c

#include "SpanLogger_c.h" int main(int argc, char * const argv[]) { 结构 CSpan 跨度; }

编译命令:

g++ -g -I。主程序

我收到此错误

main.c:在函数“int main(int, char* const*)”中: main.c:7:错误:聚合“CSpan span”类型不完整,无法定义

有人帮忙吗?

【问题讨论】:

  • main.c 只有 5 行时,第 7 行的错误信息如何?这实际上是 main.c 的样子吗?还有,你为什么要用 C++ 编译器编译 .c 文件?
  • 顶部有几个空行。我正在尝试调试一个更大的项目。我刚刚尝试了 gcc,它工作正常。不适用于 g++
  • g++ 用于 C++ 程序; gcc 用于 C 程序。

标签: c struct g++


【解决方案1】:

在 SpanLogger_c.h 中:

#include <stdint.h> 

如果您打算编写 C++,请使用:

#include <cstdint>

【讨论】:

  • 它是 C++ 的
猜你喜欢
  • 2021-06-24
  • 2020-02-21
  • 1970-01-01
  • 2020-11-25
  • 1970-01-01
  • 2013-07-21
  • 2012-07-29
  • 1970-01-01
相关资源
最近更新 更多