头文件包含
头文件包含在.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
[解决办法]
在头文件中不要包含其他文件的头文件,可以用声明代替,如果实在编译不过去在包含其他的头文件
[解决办法]