1

可能重复:
如何声明相互引用的类?

下面是我在 .h 文件中的代码。编译器会抱怨在 CPattern 中有 SP 对象。我不能将 SP 的声明放在 CPattern 之上,因为它也在其中声明了 CPattern 对象。我该如何解决这个问题?感谢您的帮助!

class CPattern
{
public:
    CPattern(void);
    ~CPattern(void);

    SP & Create(void);
};


class SP
{
private:
    const CPattern*    pPat;
public:
    SP()
    {
    }
    ~SP()
    {
        // pointer no longer requried
        delete pPat;
    }    
};
4

1 回答 1

3

class SP;在文件顶部添加。这是一个前向声明,它告诉编译器 anSP是什么,但没有描述它的实现。

于 2012-09-28T03:09:54.417 回答