prog.cpp: In function 'C b()':
prog.cpp:31:11: error: use of deleted function 'C::C(const C&)'
return a();
^
prog.cpp:17:7: note: 'C::C(const C&)' is implicitly deleted because the default definition would be ill-formed:
class C: noncopyable {
^
prog.cpp:17:7: error: use of deleted function 'noncopyable::noncopyable(const noncopyable&)'
prog.cpp:12:5: note: declared here
noncopyable(const noncopyable &) = delete;
^