1// { dg-do assemble } 2// GROUPS passed templates 3template <class T> 4class Base 5{ 6public: 7 Base() { } 8}; 9 10template <class memberType, class keyType> 11class Middle : public Base<memberType> 12{ 13public: 14 Middle (keyType const & (*ko) (memberType const &)) 15 { 16 } 17}; 18 19// EXCHANGE the following lines for this code to work. 20//template <class memberType, class keyType> class Middle; 21template <class T, class keyType> class Middle; 22 23struct Test : public Middle <int, int> 24{ 25 Test(); 26}; 27