// PR c++/83796 | |
// { dg-do compile { target c++11 } } | |
struct MyAbstractClass | |
{ | |
virtual int foo() const = 0; | |
}; | |
struct TestClass | |
{ | |
TestClass(const MyAbstractClass& m = {}) // { dg-error "abstract type" } | |
: value_(m.foo()) {} | |
int value_; | |
}; | |
int TestFunction(const MyAbstractClass& m = {}) // { dg-error "abstract type" } | |
{ | |
return m.foo(); | |
} | |
int main() | |
{ | |
TestClass testInstance; // { dg-error "abstract type" } | |
TestFunction(); // { dg-error "abstract type" } | |
} |