AIUTO!!

class XX;
class YY;

class XYZW
{
//altro...
}

class XX
{
public:

XYZW *p;

XX();
XX(YY *nome){p = nome->p;}//<--ERRORE:use of undefined type 'YY'
XX(double a,double b);

// eccetera...
}
class YY
{
public:

XYZW *p;

YY();
YY(XX *nome){p = nome->p;}
YY(double a,double b);

// eccetera...
}

...h(16) : error C2027: use of undefined type 'YY'
...h(8) : see declaration of 'YY'
( intende: class YY; )

...h(16) : error C2227: left of '->p' must point to class/struct/union

ho inserito class XX; e class YY; ma non basta!
lui vuole trovare la chiamata alla classe YY quando questa sia definita.
classe XX e classe YY sono quasi identiche... ho provato anche ad invertire le definizioni prima YY e poi XX(stesso errore), ho deciso di cercare in internet e trovo solo problemi con le ereditā

forse l'unico metodo č usare i Template ?
c'č un metodo per evitare l'uso di template ?

Vi prego rispondetemi!
Grazie.