fork download
  1. #include <sstream>
  2. #include <iostream>
  3.  
  4. class ExceptionXYZ : public std::stringstream {};
  5.  
  6. void test_except() throw (ExceptionXYZ)
  7. {
  8. ExceptionXYZ xyz;
  9.  
  10. xyz << "This exception is useless";
  11. throw xyz;
  12. }
  13.  
  14. int main(int argc, char const *argv[])
  15. {
  16. try
  17. {
  18. test_except();
  19. }
  20. catch (ExceptionXYZ ex)
  21. {
  22. std::cout << ex.str() << std::endl;
  23. }
  24. return 0;
  25. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cpp: In function ‘void test_except()’:
prog.cpp:11:8: error: use of deleted function ‘ExceptionXYZ::ExceptionXYZ(ExceptionXYZ&&)’
  throw xyz;
        ^
prog.cpp:4:7: note: ‘ExceptionXYZ::ExceptionXYZ(ExceptionXYZ&&)’ is implicitly deleted because the default definition would be ill-formed:
 class ExceptionXYZ : public std::stringstream {};
       ^
prog.cpp:4:7: error: use of deleted function ‘std::basic_stringstream<char>::basic_stringstream(const std::basic_stringstream<char>&)’
In file included from prog.cpp:1:0:
/usr/include/c++/4.8/sstream:502:11: note: ‘std::basic_stringstream<char>::basic_stringstream(const std::basic_stringstream<char>&)’ is implicitly deleted because the default definition would be ill-formed:
     class basic_stringstream : public basic_iostream<_CharT, _Traits>
           ^
/usr/include/c++/4.8/sstream:502:11: error: use of deleted function ‘std::basic_iostream<char>::basic_iostream(const std::basic_iostream<char>&)’
In file included from /usr/include/c++/4.8/sstream:38:0,
                 from prog.cpp:1:
/usr/include/c++/4.8/istream:795:11: note: ‘std::basic_iostream<char>::basic_iostream(const std::basic_iostream<char>&)’ is implicitly deleted because the default definition would be ill-formed:
     class basic_iostream
           ^
/usr/include/c++/4.8/istream:795:11: error: use of deleted function ‘std::basic_istream<char>::basic_istream(const std::basic_istream<char>&)’
/usr/include/c++/4.8/istream:58:11: note: ‘std::basic_istream<char>::basic_istream(const std::basic_istream<char>&)’ is implicitly deleted because the default definition would be ill-formed:
     class basic_istream : virtual public basic_ios<_CharT, _Traits>
           ^
/usr/include/c++/4.8/istream:58:11: error: use of deleted function ‘std::basic_ios<char>::basic_ios(const std::basic_ios<char>&)’
In file included from /usr/include/c++/4.8/ios:44:0,
                 from /usr/include/c++/4.8/istream:38,
                 from /usr/include/c++/4.8/sstream:38,
                 from prog.cpp:1:
/usr/include/c++/4.8/bits/basic_ios.h:66:11: note: ‘std::basic_ios<char>::basic_ios(const std::basic_ios<char>&)’ is implicitly deleted because the default definition would be ill-formed:
     class basic_ios : public ios_base
           ^
In file included from /usr/include/c++/4.8/ios:42:0,
                 from /usr/include/c++/4.8/istream:38,
                 from /usr/include/c++/4.8/sstream:38,
                 from prog.cpp:1:
/usr/include/c++/4.8/bits/ios_base.h:786:5: error: ‘std::ios_base::ios_base(const std::ios_base&)’ is private
     ios_base(const ios_base&);
     ^
In file included from /usr/include/c++/4.8/ios:44:0,
                 from /usr/include/c++/4.8/istream:38,
                 from /usr/include/c++/4.8/sstream:38,
                 from prog.cpp:1:
/usr/include/c++/4.8/bits/basic_ios.h:66:11: error: within this context
     class basic_ios : public ios_base
           ^
In file included from /usr/include/c++/4.8/sstream:38:0,
                 from prog.cpp:1:
/usr/include/c++/4.8/istream:795:11: error: use of deleted function ‘std::basic_ostream<char>::basic_ostream(const std::basic_ostream<char>&)’
     class basic_iostream
           ^
In file included from /usr/include/c++/4.8/istream:39:0,
                 from /usr/include/c++/4.8/sstream:38,
                 from prog.cpp:1:
/usr/include/c++/4.8/ostream:58:11: note: ‘std::basic_ostream<char>::basic_ostream(const std::basic_ostream<char>&)’ is implicitly deleted because the default definition would be ill-formed:
     class basic_ostream : virtual public basic_ios<_CharT, _Traits>
           ^
/usr/include/c++/4.8/ostream:58:11: error: use of deleted function ‘std::basic_ios<char>::basic_ios(const std::basic_ios<char>&)’
In file included from /usr/include/c++/4.8/sstream:38:0,
                 from prog.cpp:1:
/usr/include/c++/4.8/istream:795:11: error: use of deleted function ‘std::basic_ios<char>::basic_ios(const std::basic_ios<char>&)’
     class basic_iostream
           ^
In file included from prog.cpp:1:0:
/usr/include/c++/4.8/sstream:502:11: error: use of deleted function ‘std::basic_ios<char>::basic_ios(const std::basic_ios<char>&)’
     class basic_stringstream : public basic_iostream<_CharT, _Traits>
           ^
/usr/include/c++/4.8/sstream:502:11: error: use of deleted function ‘std::basic_stringbuf<char>::basic_stringbuf(const std::basic_stringbuf<char>&)’
/usr/include/c++/4.8/sstream:64:11: note: ‘std::basic_stringbuf<char>::basic_stringbuf(const std::basic_stringbuf<char>&)’ is implicitly deleted because the default definition would be ill-formed:
     class basic_stringbuf : public basic_streambuf<_CharT, _Traits>
           ^
In file included from /usr/include/c++/4.8/ios:43:0,
                 from /usr/include/c++/4.8/istream:38,
                 from /usr/include/c++/4.8/sstream:38,
                 from prog.cpp:1:
/usr/include/c++/4.8/streambuf:802:7: error: ‘std::basic_streambuf<_CharT, _Traits>::basic_streambuf(const std::basic_streambuf<_CharT, _Traits>&) [with _CharT = char; _Traits = std::char_traits<char>]’ is private
       basic_streambuf(const basic_streambuf& __sb)
       ^
In file included from prog.cpp:1:0:
/usr/include/c++/4.8/sstream:64:11: error: within this context
     class basic_stringbuf : public basic_streambuf<_CharT, _Traits>
           ^
prog.cpp:4:7: error: use of deleted function ‘std::basic_ios<char>::basic_ios(const std::basic_ios<char>&)’
 class ExceptionXYZ : public std::stringstream {};
       ^
prog.cpp: In function ‘int main(int, const char**)’:
prog.cpp:20:22: error: use of deleted function ‘ExceptionXYZ::ExceptionXYZ(const ExceptionXYZ&)’
  catch (ExceptionXYZ ex)
                      ^
prog.cpp:4:7: note: ‘ExceptionXYZ::ExceptionXYZ(const ExceptionXYZ&)’ is implicitly deleted because the default definition would be ill-formed:
 class ExceptionXYZ : public std::stringstream {};
       ^
prog.cpp:4:7: error: use of deleted function ‘std::basic_stringstream<char>::basic_stringstream(const std::basic_stringstream<char>&)’
prog.cpp:4:7: error: use of deleted function ‘std::basic_ios<char>::basic_ios(const std::basic_ios<char>&)’
stdout
Standard output is empty