// PR c++/39060 // { dg-do compile } struct A { A(void* i=); // { dg-error "with|specification|primary-expression" } A(void* i=); // { dg-error "overloaded|primary-expression" } A(void* i=); // { dg-error "overloaded|primary-expression" } void operator+ (void* i=); // { dg-error "arguments" } virtual void foo1(=); // { dg-error "identifier|primary-expression" } void foo2(=); // { dg-error "identifier|primary-expression" } void foo3(=); // { dg-error "identifier|primary-expression" } void foo4(=); // { dg-error "identifier|primary-expression" } void foo5(=); // { dg-error "identifier|primary-expression" } }; A::A (void* i=) {} // { dg-error "primary-expression|argument" }