template class A { void m_fn1 (int *, int); }; template class B { public: typedef int Type; }; template class C { public: C (int); template