Edit: Found duplicate
I\'ve whittled down some problem code to the simplest working case to illustrate the following: my typedef in a pure abstract base class is not b
you should do
typedef typename TemplateMethod<X>::system_t system_t;
to "inherit" typedef. typedef is not automatically inherited (if compiler is compliant).
if you look through stack overflow, there will be duplicate of this question somewhere.