El encabezado circular de C ++ incluye

En un proyecto tengo 2 clases:

// mainw.h

#include "IFr.h"
...
class mainw
{
public:
static IFr ifr;
static CSize=100;
...
};

// IFr.h

#include "mainw.h"
...
class IFr
{
public float[mainw::CSize];
};

Pero no puedo compilar este código, obteniendo un error en lastatic IFr ifr; línea. ¿Está prohibido este tipo de inclusión cruzada?

Respuestas a la pregunta(6)

Su respuesta a la pregunta