读书人

头文件包含,该怎么解决

发布时间: 2012-03-23 12:06:21 作者: rapoo

头文件包含
头文件包含在.h 和.cpp文件中有什么区别,今天发现将别的类的头文件包含在这个类的头文件中时,竟然报错,但是当将其移到cpp文件中,竟然对了,这个理由是什么呢?谢谢!

[解决办法]
放到.h中有时会形成包含关系环 a包含b,b包含c,c包含a
而放.cpp中不会有这个问题


[解决办法]
C++中的编译预处理语句,也就是你的#include<>当然是放在.cpp文件中的,表示你这个C++源程序文件包含这个头文件,
其实和你自己写的头文件地位是一样的,你自己写的头文件的包含语句不也是写在.cpp文件里么?
[解决办法]
#include等于copy
相当于把文件内容都复制过去
至于有没错就看内容了
[解决办法]
头文件中使用 #ifndefine #define #endif
就不会了如:
#ifndef AFX_DIRTREECTRL_H__1E4F97A0_B41E_11D2_955E_204C4F4F5020__INCLUDED_
#define AFX_DIRTREECTRL_H__1E4F97A0_B41E_11D2_955E_204C4F4F5020__INCLUDED_


// 内容

#endif


[解决办法]
在头文件中不要包含其他文件的头文件,可以用声明代替,如果实在编译不过去在包含其他的头文件
[解决办法]

探讨
在头文件中不要包含其他文件的头文件,可以用声明代替,如果实在编译不过去在包含其他的头文件

读书人网 >C++

热点推荐