Let\'s say I have the following piece of code (a simple CRTP class hierarchy). I want to typedef the base class type to save myself typing (in my actual code, I use the base
You actually can do it in C++ earlier than C++11, but it requires a fairly elaborate (haha) workaround, along the lines of, 1st declare this "helper":
template< class T > struct ParamTypeStruct { typedef T ParamType; };
Then, your friend declaration:
friend class ParamTypeStruct< BaseType >::ParamType;