// Build don't link: // GROUPS passed templates template class Base { public: Base() { } }; template class Middle : public Base { public: Middle (keyType const & (*ko) (memberType const &)) { } }; // EXCHANGE the following lines for this code to work. //template class Middle; template class Middle; struct Test : public Middle { Test(); };