Static members of nested classes

How could I initialize a static member of a inner class? I could not get information about that in the documentation nor in the forum.

class Outter {

static bool logical; public: class Inner { int integer; static float real; }; }; bool Outter::logical=true; // OK float Outter::Inner::real=1; // ERROR

‌T‌hanks in advance.

‌B‌y the way, is not there a proper group for MQL5?

There is no such thing as “inner” class in mql5.

float Inner::real=1; // ERROR

Then, what is the reason for allowing something like this without warnings nor errors?

class Outter { public: bool logical; private: class Inner { public: float real; }; public: Inner inner; private: static bool secret; }; void main(void){ Outter outter; outter.logical=true; outter.inner.real=1; }
‌It seems kind of nested classes. 

Yes, it looks like, but the class definition is always treated as if it were public and on the global level. The reason is unknown.

Thanks Ovo Cz. Strange language MQL5 ^^