【发布时间】:2016-05-30 23:39:46
【问题描述】:
我很难设置一个包含 3 个类的结构。我不确定包含/前向声明。
下面的代码会一直编译,直到我在 inclino.h 中添加命名空间和枚举。我从 InclinoMeasure.h 收到“尚未声明倾斜”
倾斜.h
// Inclino.h
#include "InclinoMeasure.h"
#include "InclinoReading.h"
namespace inclino {
enum a{a1, a2}
}
class Inclino
{
list<InclinoMeasure*> m_measures;
void f(inclino::a a);
}
倾斜测量.h
// InclinoMeasure.h
#include "InclinoReading.h"
class Inclino;
class InclinoMeasure
{
Inclino *m_inclino;
list<InclinoReading*> m_readings;
void f(inclino::a a);
}
InclinoReading.h
// InclinoReading.h
class Inclino;
class InclinoMeasure;
class InclinoReading
{
InclinoMeasure *m_inclino;
void f(inclino::a a);
}
结构是否正确?如何访问其他类中的枚举?
提前致谢。
编辑:我通过将命名空间问题放入一个包含 3 个类的新文件中来修复它。但似乎我滥用了包含/前向声明。
【问题讨论】:
标签: c++ namespaces include forward-declaration