1// { dg-do assemble } 2// Test resolution of templatized overloaded constructors. 3// The more specialized constructor, i.e., A (const B<Dim1,Dim2> &b) 4// should be chosen per \S 14.5.5.2/2 [temp.func.order/2]. 5 6template <int Dim1, int Dim2> 7struct B { 8 int f; 9}; 10 11struct A { 12 template <int Dim1, int Dim2> 13 A (const B<Dim1,Dim2> &b) {} 14 15 template <typename T> 16 A (const T &b) {} 17}; 18 19int 20main () 21{ 22 B<2,3> b; 23 A a (b); 24 return 0; 25} 26