1 // PR c++/83020 2 // { dg-do compile { target c++17 } } 3 4 struct NoDefault { 5 int val = 1234; NoDefaultNoDefault6 NoDefault(int v) : val(v) {} 7 }; 8 template <class T> 9 struct Whoops { 10 const char *str; 11 T obj; strWhoops12 Whoops(const char *s, T v = T()) : str(s), obj(v) {} // { dg-error "no matching" } 13 }; test()14const char *test() { 15 return Whoops<NoDefault>("hi").str; 16 } 17