Date:2018.9.29
1、參考
https://blog.csdn.net/junjun5156/article/details/75039881?locationNum=8&fps=1
https://blog.csdn.net/mading0613/article/details/78587673
https://baike.baidu.com/item/timeval
2、問題描述
gcc編譯出現field ‘xxx’ has incomplete type的問題:
使用的struct timeval field “tStart” and “tEnd” 具有不完整的類型。
關於Linux下時間計算結構體timeval的用法可參考:
https://blog.csdn.net/soaringlee_fighting/article/details/70919381
3、原因分析
在編譯程序時, 類或結構體有前向聲明的用法,編譯到這里時還沒有發現定義,不知道該類或者結構的內部成員,沒有辦法具體的構造一個對象,所以會報錯。
4、解決方法
方法一:將類成員改成指針就好了;
方法二:將結構體定義放同一個地方。將結構體的定義包含在頭文件中,加入使用該結構體的代碼之前就可以了。對於該例,在使用struct timeval之前加入以下頭文件即可。
#include "sys/time.h"
THE END!