A lo comentado por Instru, decir que esto solo funcionaría si se usan punteros en al menos una de las clases.
Me explico:
Código C++:
Ver originalclass clase1;
class clase2;
clase1{
// error. El compilador no conoce el tamaño de Clase2
// por lo que no pude usarse por valor en este punto
Clase2 clase2;
// sin embargo esto si sería válido
Clase2 *clase;
}
clase2{
Clase1 clase1; // correcto. El compilador conoce el tamaño de Clase1
}
Un saludo