课程
/后端开发
/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++教程力求即学即会,所有知识以实践方式讲解到操作层面