0

我正在尝试使用 C++ 进行引导。我有一个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

谁能帮我解决这个问题?提前谢谢了。

4

3 回答 3

3

你需要#include "Sample.h"Bootstrapping.h文件中。

于 2013-08-27T15:39:49.977 回答
2

您应该重新排序标题。

#include "Sample.h"
#include "Bootstrapping.h"
于 2013-08-27T15:39:16.317 回答
1

在 Bootstrapping.h 之后包含 Sample.h。编译器从头到尾处理代码,所以它在处理 Bootstrapping 类的声明时对 Sample 类一无所知。当然,您应该在 Bootstrapping.h 中包含 Sample.h 以使此标头独立于标头顺序。

于 2013-08-27T15:42:43.647 回答