[英]Including Header files in c++ of STL
我有这样的课
/*class.h*/
class MClass
{
public:
MClass(std::vector<int> number);
}
和
/* class.cpp */
#include <vector>
#inclue "class.h"
MClass::MClass(std::vector<int> number)
{
// Do Something
}
如果不在头文件中添加#include <vector>
,则不会编译该行为是否正常?是否丢失了某些内容?
您应该在标题中包含<vector>
。 然后,您应该在cpp文件中包含类的标头。
没有类标题,就无法编译cpp文件。 因此,包含您的类标头是正常的-无法解决。 另外,通常只在标头中包含所需的内容,这样就不会在使用标头的代码中引入不必要的依赖关系。 在这种情况下,给定成员函数签名,您需要在标头中包含<vector>
。
class.cpp应该#include“ class.h”
class.h应该#include <vector>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.