关于头文件和声明的区别?
我在Match.h头文件中包含了类的Time的头文件为什么编译报错了!!Match.h代码如下:
#ifndef _MATCH_H #define _MATCH_H #include"Time.h" class Time; class Match { public: void printTime(Time &t); }; #endif
报错如下:
1> Match.cpp
1>d:\程序\c++\模板\友元函数\友元函数\time.h(8): error C2653: “Match”: 不是类或命名空间名称
1>d:\程序\c++\模板\友元函数\友元函数\match.cpp(8): error C2248: “Time::m_iHour”: 无法访问 private 成员(在“Time”类中声明)
1> d:\程序\c++\模板\友元函数\友元函数\time.h(12) : 参见“Time::m_iHour”的声明
1> d:\程序\c++\模板\友元函数\友元函数\time.h(7) : 参见“Time”的声明
1>d:\程序\c++\模板\友元函数\友元函数\match.cpp(8): error C2248: “Time::m_iMinute”: 无法访问 private 成员(在“Time”类中声明)
1> d:\程序\c++\模板\友元函数\友元函数\time.h(13) : 参见“Time::m_iMinute”的声明
1> d:\程序\c++\模板\友元函数\友元函数\time.h(7) : 参见“Time”的声明
1>d:\程序\c++\模板\友元函数\友元函数\match.cpp(8): error C2248: “Time::m_iSecond”: 无法访问 private 成员(在“Time”类中声明)
1> d:\程序\c++\模板\友元函数\友元函数\time.h(14) : 参见“Time::m_iSecond”的声明
1> d:\程序\c++\模板\友元函数\友元函数\time.h(7) : 参见“Time”的声明