struct Implicit
{
Implicit(int) {}
Implicit(Implicit const&) {}
};
struct Explicit
{
explicit Explicit(int) {}
explicit Explicit(Explicit const&) {}
};
int main()
{
Implicit a = 5;
Implicit b = a;
// Explicit x = 5; // Fehlerhaft
// Explicit y = x; // Fehlerhaft
}
c3RydWN0IEltcGxpY2l0CnsKCUltcGxpY2l0KGludCkge30KCUltcGxpY2l0KEltcGxpY2l0IGNvbnN0Jikge30KfTsKCnN0cnVjdCBFeHBsaWNpdAp7CglleHBsaWNpdCBFeHBsaWNpdChpbnQpIHt9CglleHBsaWNpdCBFeHBsaWNpdChFeHBsaWNpdCBjb25zdCYpIHt9Cn07CgppbnQgbWFpbigpCnsKCUltcGxpY2l0IGEgPSA1OwoJSW1wbGljaXQgYiA9IGE7CgkKCS8vIEV4cGxpY2l0IHggPSA1OyAvLyBGZWhsZXJoYWZ0CgkvLyBFeHBsaWNpdCB5ID0geDsgLy8gRmVobGVyaGFmdAp9