fork download
  1.  
  2. template <typename blah>
  3. class MyTemplateBaseClass
  4. {
  5. public:
  6. typedef blah my_blah_typedef;
  7. };
  8.  
  9. template <typename arg>
  10. class DerivedFromTemplated : private MyTemplateBaseClass<arg>
  11. {
  12. public:
  13. //Either giving the full name:
  14. typename MyTemplateBaseClass<arg>::my_blah_typedef GetBlahType()
  15. {
  16. return typename MyTemplateBaseClass<arg>::my_blah_typedef();
  17. }
  18.  
  19. //Or typedef-ing it locally:
  20. typedef typename MyTemplateBaseClass<arg>::my_blah_typedef my_blah_typedef;
  21. my_blah_typedef GetBlahType2()
  22. {
  23. return my_blah_typedef();
  24. }
  25. };
  26.  
  27. int main()
  28. {
  29. DerivedFromTemplated<int> test;
  30. }
Success #stdin #stdout 0s 2892KB
stdin
Standard input is empty
stdout
Standard output is empty