1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | struct B { operator int() { return 10; } }; struct A { A(int) {} A(char) = delete; //disable A(const B&) = delete; //disable }; int main() { A a1(10); A a2('x'); B b; A a3(b); }; |
c3RydWN0IEIKewogICBvcGVyYXRvciBpbnQoKSB7IHJldHVybiAxMDsgfQp9OwoKc3RydWN0IEEKewogICAgQShpbnQpIHt9CiAgICBBKGNoYXIpID0gZGVsZXRlOyAgICAgIC8vZGlzYWJsZQogICAgQShjb25zdCBCJikgPSBkZWxldGU7ICAvL2Rpc2FibGUKfTsKCmludCBtYWluKCkKewogICBBIGExKDEwKTsKICAgQSBhMigneCcpOwogICBCIGI7CiAgIEEgYTMoYik7Cgp9Ow==
prog.cpp: In function 'int main()': prog.cpp:9:5: error: deleted function 'A::A(char)' prog.cpp:16:12: error: used here prog.cpp:10:5: error: deleted function 'A::A(const B&)' prog.cpp:18:10: error: used here
-
result: Compilation error (maybe you wish to see an example for C++11)


