在其他类c ++之前无法访问类

luv*_*eti 0 c++ header class function

嘿伙计们,我在设置头文件方面遇到了麻烦.为了简化我的问题,这是一个例子:

#ifndef MYHEADER_H
#define MYHEADER_H    

class Parent
{
    Child mykid; //a kid of mine
    void dosomething(void);
};

class Child
{
        Parent * mydad; //pointer back to my dad
        void dosomething(void);
};    

#endif // MYHEADER_H
Run Code Online (Sandbox Code Playgroud)

在编译器甚至不知道它之前,我基本上需要在另一个类中使用一个类.在我定义内部之前,有没有办法告诉编译器我的类?

Luc*_*ore 5

这个:

class Parent;
class Child
{
        Parent * mydad; //pointer back to my dad
        void dosomething(void);
};    
class Parent
{
    Child mykid; //a kid of mine
    void dosomething(void);
};
Run Code Online (Sandbox Code Playgroud)

建议:将它们放在单独的标题中,Parent在in -declare in Child.h#include "Child.h"in中Parent.h.

Parent需要一个完整的Child工作定义,Child只需要一个声明.

我还建议你停止使用原始指针.