Date:2018.9.29


1、参考

​https://baike.baidu.com/item/timeval​

2、问题描述

    gcc编译出现field ‘xxx’ has incomplete type的问题:

使用的struct timeval field “tStart” and “tEnd” 具有不完整的类型。

关于Linux下时间计算结构体timeval的用法可参考:

3、原因分析

  在编译程序时, 类或结构体有前向声明的用法,编译到这里时还没有发现定义,不知道该类或者结构的内部成员,没有办法具体的构造一个对象,所以会报错。

4、解决方法

方法一:将类成员改成指针就好了;

方法二:将结构体定义放同一个地方。将结构体的定义包含在头文件中,加入使用该结构体的代码之前就可以了。对于该例,在使用struct timeval之前加入以下头文件即可。

#include "sys/time.h"

THE END!