#include <iostream> using namespace std; class A { public: A( ) { } A( const A& ) = delete; A( A&& ) = delete; }; A makeA( ) { A a; return a; } int main() { A a = makeA( ); return 0; }
Standard input is empty
prog.cpp: In function 'A makeA()':
prog.cpp:13:9: error: use of deleted function 'A::A(A&&)'
return a;
^
prog.cpp:8:2: note: declared here
A( A&& ) = delete;
^
prog.cpp: In function 'int main()':
prog.cpp:17:15: error: use of deleted function 'A::A(A&&)'
A a = makeA( );
^
prog.cpp:8:2: note: declared here
A( A&& ) = delete;
^
Standard output is empty