我有两个类,它们的函数将相互定义的指针作为返回值和参数。IE:
class Segment;
class Location : public Fwk::NamedInterface {
public:
// ===== Class Typedefs =====
typedef Fwk::Ptr<Location const> PtrConst;
typedef Fwk::Ptr<Location> Ptr;
// ===== Class Typedefs End =====
void segmentIs(Segment::Ptr seg);
/* ... */
}
和上课地点;
class Segment : public Fwk::NamedInterface {
public:
// ===== Class Typedefs =====
typedef Fwk::Ptr<Segment const> PtrConst;
typedef Fwk::Ptr<Segment> Ptr;
// ===== Class Typedefs End =====
void locationIs(Location::Ptr seg);
/* ... */
}
这可以理解地产生链接器错误......各个类的前向声明无法修复。如何在将这些 typedefs 保留在类内部的同时转发声明Ptr
和PtrConst
typedefs(即我想写Location::Ptr
来引用位置指针类型)?
谢谢各位!