我正在尝试使用C ++进行Bootstrapping。我有一个Bootstrapping
类进行抽样计算,Sample
类存储结果:
在Sample.h
档案
class Sample
{
// do something
};
在Bootstrapping
班级
#include <vector>
using namespace std;
class Bootstrapping
{
private:
vector<Sample> sample_list; // Here the problem happens
// do something
};
在main.cpp
档案
#include <iostream>
#include "Bootstrapping.h"
#include "Sample.h"
using namespace std;
int main()
{
// do something
}
当我调试上面的代码时,编译器会在Bootstrapping
类中弹出一个错误,即identifier "Sample" is undefined
。但我显然已将其纳入main
!
任何人都可以帮我解决这个问题吗?非常感谢提前。
答案 0 :(得分:2)
您应该重新订购标题。
#include "Sample.h"
#include "Bootstrapping.h"
答案 1 :(得分:2)
您需要#include "Sample.h"
文件中的Bootstrapping.h
。
答案 2 :(得分:0)
在Bootstrapping.h之后包含Sample.h。编译器从头到尾处理代码,因此在处理Bootstrapping类的声明时它对Sample类一无所知。 当然,您应该在Bootstrapping.h中包含Sample.h,以使此标头与标题顺序无关。