定义为:Class.h
#ifndef CLASS_H_
#define CLASS_H_
#include "Class2.h"
#include <iostream>
struct Struct1{
};
struct Struct2{
};
class Class1 {
};
#endif
然后是另一个头文件,我在这里使用它:
#ifndef CLASS2_H_
#define CLASS2_H_
#include "Class.h"
class Class2 {
public:
Class2( Struct1* theStruct, Struct2* theStruct2); //Can't find struct definitions
private:
};
#endif
这些都在同一个目录中。它没有看到那些结构定义!对我来说,它们似乎在全球范围内。有人可以向我解释为什么 Class2 看不到它们吗?编译器并没有抱怨找不到 Class 的头文件,所以不可能是这样。