#include template struct key_type { typedef int iterator; }; template struct value_type { key_type::iterator itr; }; template class my_class : public value_type { }; int main() { my_class my; return 0; }