// { dg-do assemble } | |
class string { | |
public: | |
string(const char*) { } | |
explicit string(int size) { } | |
}; | |
void foo(string) { } | |
string bar() { | |
foo("hello"); // ok | |
foo(string(2)); // ok | |
foo(2); // { dg-error "" } no implicit conversion from int to string | |
string x = 2; // { dg-error "" } no implicit conversion from int to string | |
string y(2); // ok | |
foo((string)2); // ok | |
return 2; // { dg-error "" } no implicit conversion from int to string | |
} | |
class A : string { | |
public: | |
A() : string(2) { } // ok | |
}; |