課程
/后端開發
/C++
/C++遠征之模板篇
在Math.h中可以不用聲明class Time ,改用include"Time.h",這樣可以嗎?
2017-03-05
源自:C++遠征之模板篇 2-2
正在回答
我也在想,大概是因為Time.h和Match.h兩個文件相互include了.然后在展開頭文件的那一步就會死循環,所以無法編譯。
飛沉隔雪_ 提問者
不可以的,在match.h中包含time.h就相互include了,但是在matchcpp中需要include match.h和time.h,真是找了好久的錯誤所在
我也在想,大概是因為Time.h和Match.h兩個文件相互include了.然后在展開頭文件的那一步就會死循環,所以無法編譯
這個問題我也不太懂,確實這里包含Time頭文件就直接報錯,而定義Time類的時候一定要包含Match頭文件,求助大神指點一下
Uchiha_Obito
不可以不信你試試
我覺得是不可以的。class Time是告訴在這個地方說我有Time,但是Time里面不一定現在就要定義什么的就可以編譯通過,而#include "Time.h"是編譯器在編譯過程中馬上定位到Time.h,里面必須是要事先都定義好,否則編譯不過。(菜雞的看法,歡迎指正
閃來閃去的閃電俠
舉報
本C++教程力求即學即會,所有知識以實踐方式講解到操作層面
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-08-21
我也在想,大概是因為Time.h和Match.h兩個文件相互include了.然后在展開頭文件的那一步就會死循環,所以無法編譯。
2019-01-15
不可以的,在match.h中包含time.h就相互include了,但是在matchcpp中需要include match.h和time.h,真是找了好久的錯誤所在
2018-03-08
我也在想,大概是因為Time.h和Match.h兩個文件相互include了.然后在展開頭文件的那一步就會死循環,所以無法編譯
2017-11-18
我也在想,大概是因為Time.h和Match.h兩個文件相互include了.然后在展開頭文件的那一步就會死循環,所以無法編譯。
2017-03-09
這個問題我也不太懂,確實這里包含Time頭文件就直接報錯,而定義Time類的時候一定要包含Match頭文件,求助大神指點一下
2017-03-05
不可以不信你試試
2017-03-05
我覺得是不可以的。class Time是告訴在這個地方說我有Time,但是Time里面不一定現在就要定義什么的就可以編譯通過,而#include "Time.h"是編譯器在編譯過程中馬上定位到Time.h,里面必須是要事先都定義好,否則編譯不過。(菜雞的看法,歡迎指正