FormatElement is the base class for two other classes, GenericElement and Format, which publicly inherit from FormatElement. I have two pieces of code here:
You're using private inheritance for both derived classes. The compiler doesn't complain about Format because you're inside one of its member functions.
The MSDN has pretty good explanations about compiler errors, by the way.