// { dg-do assemble } | |
// Test resolution of templatized overloaded constructors. | |
// The more specialized constructor, i.e., A (const B<Dim1,Dim2> &b) | |
// should be chosen per \S 14.5.5.2/2 [temp.func.order/2]. | |
template <int Dim1, int Dim2> | |
struct B { | |
int f; | |
}; | |
struct A { | |
template <int Dim1, int Dim2> | |
A (const B<Dim1,Dim2> &b) {} | |
template <typename T> | |
A (const T &b) {} | |
}; | |
int | |
main () | |
{ | |
B<2,3> b; | |
A a (b); | |
return 0; | |
} |