C++ //invalid use of undefined type 'struct PelephonePH'
<p>i have received in .cpp errors of invalid use of undefined struct PelephonePN, CellcomPN and so on
and also error in .h errors of forward declaration of PelephonePN,...</p>

<pre><code>#ifndef PHONE_H_INCLUDED
#define PHONE_H_INCLUDED
#include &lt;iostream&gt;
#include &lt;ctime&gt;
#include &lt;string&gt;
#include "phone.h"

using namespace std;

class PhoneNumber;
class PelephonePN;
class CellcomPN;
class OrangePN;
class HotPN;
class BezeqPN;

class PhoneManager
{
private:
    PelephonePN* mpPelephone;
    CellcomPN* mpCellcom;
    OrangePN* mpOrange;
    HotPN* mpHot;
    BezeqPN* mpBezeq;
public:
    PhoneManager();
    ~PhoneManager();
    void split_check_data(string str);
};

#endif
</code></pre>

<p>and .cpp</p>

<pre><code>#include &lt;iostream&gt;
#include &lt;ctime&gt;
#include &lt;string&gt;
#include &lt;sstream&gt;
#include "phone_manager.h"
#include "phone.h"


using namespace std;

PhoneManager::PhoneManager()
{
    srand(time(0));
    mpPelephone = new PelephonePN();
    mpCellcom = new CellcomPN();
    mpOrange = new OrangePN();
    mpHot = new HotPN();
    mpBezeq = new BezeqPN();
    mpPelephone-&gt;add(mpCellcom);
    mpPelephone-&gt;add(mpOrange);
    mpPelephone-&gt;add(mpHot);
    mpPelephone-&gt;add(mpBezeq);
    mpBezeq-&gt;setNext(mpPelephone);
}
</code></pre>
