fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class person {
  5. private:
  6. string name;
  7. string subname;
  8.  
  9. public:
  10. void setData(string newName, string newSubname) {
  11. name = newName;
  12. subname = newSubname;
  13. }
  14. void goFuckYourself() {
  15. cout<<name<<" "<<subname<<", пошёл нахуй!"<<endl;
  16. }
  17. };
  18.  
  19. class Pizdulj {
  20. public:
  21. Pizdulj() {
  22. *m_objectPerson = nullptr;
  23. }
  24. void add(person newPerson) {
  25. m_objectPerson = newPerson;
  26. }
  27. void datPizdulej() {
  28. if (m_objectPerson != nullptr) {
  29. cout<<"Объект был записан на выдачу пиздюлей"<<endl;
  30. cout<<"Ты огребаешь, "<<m_objectPerson.name<<" "<<m_objectPerson.subname; // здесь всё равно будет ошибка, потому что поля name и subname у тебя приватные, опять же, погугли про сетеры и гетеры.
  31. }
  32. }
  33. private:
  34. person m_objectPerson;
  35. };
  36.  
  37. int main() {
  38. string name, subname;
  39. cin>>name>>subname;
  40. person objPerson;
  41. objPerson.setData(name, subname);
  42. objPerson.goFuckYourself();
  43. Pizdulj razdavatel;
  44. razdavatel.add(name, subname);
  45. razdavatel.datPizdulej();
  46. return 0;
  47. }
Compilation error #stdin compilation error #stdout 0s 3468KB
stdin
Вася Пирожков
compilation info
prog.cpp: In constructor 'Pizdulj::Pizdulj()':
prog.cpp:22:4: error: no match for 'operator*' (operand type is 'person')
    *m_objectPerson = nullptr;
    ^
prog.cpp: In member function 'void Pizdulj::datPizdulej()':
prog.cpp:28:23: error: no match for 'operator!=' (operand types are 'person' and 'std::nullptr_t')
    if (m_objectPerson != nullptr) {
                       ^
In file included from /usr/include/c++/5/iosfwd:40:0,
                 from /usr/include/c++/5/ios:38,
                 from /usr/include/c++/5/ostream:38,
                 from /usr/include/c++/5/iostream:39,
                 from prog.cpp:1:
/usr/include/c++/5/bits/postypes.h:221:5: note: candidate: template<class _StateT> bool std::operator!=(const std::fpos<_StateT>&, const std::fpos<_StateT>&)
     operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
     ^
/usr/include/c++/5/bits/postypes.h:221:5: note:   template argument deduction/substitution failed:
prog.cpp:28:26: note:   'person' is not derived from 'const std::fpos<_StateT>'
    if (m_objectPerson != nullptr) {
                          ^
In file included from /usr/include/c++/5/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/5/bits/char_traits.h:39,
                 from /usr/include/c++/5/ios:40,
                 from /usr/include/c++/5/ostream:38,
                 from /usr/include/c++/5/iostream:39,
                 from prog.cpp:1:
/usr/include/c++/5/bits/stl_pair.h:227:5: note: candidate: template<class _T1, class _T2> constexpr bool std::operator!=(const std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&)
     operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
     ^
/usr/include/c++/5/bits/stl_pair.h:227:5: note:   template argument deduction/substitution failed:
prog.cpp:28:26: note:   'person' is not derived from 'const std::pair<_T1, _T2>'
    if (m_objectPerson != nullptr) {
                          ^
In file included from /usr/include/c++/5/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/5/bits/char_traits.h:39,
                 from /usr/include/c++/5/ios:40,
                 from /usr/include/c++/5/ostream:38,
                 from /usr/include/c++/5/iostream:39,
                 from prog.cpp:1:
/usr/include/c++/5/bits/stl_iterator.h:304:5: note: candidate: template<class _Iterator> bool std::operator!=(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_Iterator>&)
     operator!=(const reverse_iterator<_Iterator>& __x,
     ^
/usr/include/c++/5/bits/stl_iterator.h:304:5: note:   template argument deduction/substitution failed:
prog.cpp:28:26: note:   'person' is not derived from 'const std::reverse_iterator<_Iterator>'
    if (m_objectPerson != nullptr) {
                          ^
In file included from /usr/include/c++/5/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/5/bits/char_traits.h:39,
                 from /usr/include/c++/5/ios:40,
                 from /usr/include/c++/5/ostream:38,
                 from /usr/include/c++/5/iostream:39,
                 from prog.cpp:1:
/usr/include/c++/5/bits/stl_iterator.h:354:5: note: candidate: template<class _IteratorL, class _IteratorR> bool std::operator!=(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_IteratorR>&)
     operator!=(const reverse_iterator<_IteratorL>& __x,
     ^
/usr/include/c++/5/bits/stl_iterator.h:354:5: note:   template argument deduction/substitution failed:
prog.cpp:28:26: note:   'person' is not derived from 'const std::reverse_iterator<_Iterator>'
    if (m_objectPerson != nullptr) {
                          ^
In file included from /usr/include/c++/5/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/5/bits/char_traits.h:39,
                 from /usr/include/c++/5/ios:40,
                 from /usr/include/c++/5/ostream:38,
                 from /usr/include/c++/5/iostream:39,
                 from prog.cpp:1:
/usr/include/c++/5/bits/stl_iterator.h:1077:5: note: candidate: template<class _IteratorL, class _IteratorR> bool std::operator!=(const std::move_iterator<_Iterator>&, const std::move_iterator<_IteratorR>&)
     operator!=(const move_iterator<_IteratorL>& __x,
     ^
/usr/include/c++/5/bits/stl_iterator.h:1077:5: note:   template argument deduction/substitution failed:
prog.cpp:28:26: note:   'person' is not derived from 'const std::move_iterator<_Iterator>'
    if (m_objectPerson != nullptr) {
                          ^
In file included from /usr/include/c++/5/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/5/bits/char_traits.h:39,
                 from /usr/include/c++/5/ios:40,
                 from /usr/include/c++/5/ostream:38,
                 from /usr/include/c++/5/iostream:39,
                 from prog.cpp:1:
/usr/include/c++/5/bits/stl_iterator.h:1083:5: note: candidate: template<class _Iterator> bool std::operator!=(const std::move_iterator<_Iterator>&, const std::move_iterator<_Iterator>&)
     operator!=(const move_iterator<_Iterator>& __x,
     ^
/usr/include/c++/5/bits/stl_iterator.h:1083:5: note:   template argument deduction/substitution failed:
prog.cpp:28:26: note:   'person' is not derived from 'const std::move_iterator<_Iterator>'
    if (m_objectPerson != nullptr) {
                          ^
In file included from /usr/include/c++/5/string:41:0,
                 from /usr/include/c++/5/bits/locale_classes.h:40,
                 from /usr/include/c++/5/bits/ios_base.h:41,
                 from /usr/include/c++/5/ios:42,
                 from /usr/include/c++/5/ostream:38,
                 from /usr/include/c++/5/iostream:39,
                 from prog.cpp:1:
/usr/include/c++/5/bits/allocator.h:140:5: note: candidate: template<class _T1, class _T2> bool std::operator!=(const std::allocator<_CharT>&, const std::allocator<_T2>&)
     operator!=(const allocator<_T1>&, const allocator<_T2>&)
     ^
/usr/include/c++/5/bits/allocator.h:140:5: note:   template argument deduction/substitution failed:
prog.cpp:28:26: note:   'person' is not derived from 'const std::allocator<_CharT>'
    if (m_objectPerson != nullptr) {
                          ^
In file included from /usr/include/c++/5/string:41:0,
                 from /usr/include/c++/5/bits/locale_classes.h:40,
                 from /usr/include/c++/5/bits/ios_base.h:41,
                 from /usr/include/c++/5/ios:42,
                 from /usr/include/c++/5/ostream:38,
                 from /usr/include/c++/5/iostream:39,
                 from prog.cpp:1:
/usr/include/c++/5/bits/allocator.h:146:5: note: candidate: template<class _Tp> bool std::operator!=(const std::allocator<_CharT>&, const std::allocator<_CharT>&)
     operator!=(const allocator<_Tp>&, const allocator<_Tp>&)
     ^
/usr/include/c++/5/bits/allocator.h:146:5: note:   template argument deduction/substitution failed:
prog.cpp:28:26: note:   'person' is not derived from 'const std::allocator<_CharT>'
    if (m_objectPerson != nullptr) {
                          ^
In file included from /usr/include/c++/5/string:52:0,
                 from /usr/include/c++/5/bits/locale_classes.h:40,
                 from /usr/include/c++/5/bits/ios_base.h:41,
                 from /usr/include/c++/5/ios:42,
                 from /usr/include/c++/5/ostream:38,
                 from /usr/include/c++/5/iostream:39,
                 from prog.cpp:1:
/usr/include/c++/5/bits/basic_string.h:4948:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const std::basic_string<_CharT, _Traits, _Alloc>&, const std::basic_string<_CharT, _Traits, _Alloc>&)
     operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
     ^
/usr/include/c++/5/bits/basic_string.h:4948:5: note:   template argument deduction/substitution failed:
prog.cpp:28:26: note:   'person' is not derived from 'const std::basic_string<_CharT, _Traits, _Alloc>'
    if (m_objectPerson != nullptr) {
                          ^
In file included from /usr/include/c++/5/string:52:0,
                 from /usr/include/c++/5/bits/locale_classes.h:40,
                 from /usr/include/c++/5/bits/ios_base.h:41,
                 from /usr/include/c++/5/ios:42,
                 from /usr/include/c++/5/ostream:38,
                 from /usr/include/c++/5/iostream:39,
                 from prog.cpp:1:
/usr/include/c++/5/bits/basic_string.h:4960:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const _CharT*, const std::basic_string<_CharT, _Traits, _Alloc>&)
     operator!=(const _CharT* __lhs,
     ^
/usr/include/c++/5/bits/basic_string.h:4960:5: note:   template argument deduction/substitution failed:
prog.cpp:28:26: note:   mismatched types 'const _CharT*' and 'person'
    if (m_objectPerson != nullptr) {
                          ^
In file included from /usr/include/c++/5/string:52:0,
                 from /usr/include/c++/5/bits/locale_classes.h:40,
                 from /usr/include/c++/5/bits/ios_base.h:41,
                 from /usr/include/c++/5/ios:42,
                 from /usr/include/c++/5/ostream:38,
                 from /usr/include/c++/5/iostream:39,
                 from prog.cpp:1:
/usr/include/c++/5/bits/basic_string.h:4972:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const std::basic_string<_CharT, _Traits, _Alloc>&, const _CharT*)
     operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
     ^
/usr/include/c++/5/bits/basic_string.h:4972:5: note:   template argument deduction/substitution failed:
prog.cpp:28:26: note:   'person' is not derived from 'const std::basic_string<_CharT, _Traits, _Alloc>'
    if (m_objectPerson != nullptr) {
                          ^
In file included from /usr/include/c++/5/bits/ios_base.h:46:0,
                 from /usr/include/c++/5/ios:42,
                 from /usr/include/c++/5/ostream:38,
                 from /usr/include/c++/5/iostream:39,
                 from prog.cpp:1:
/usr/include/c++/5/system_error:311:3: note: candidate: bool std::operator!=(const std::error_code&, const std::error_code&)
   operator!=(const error_code& __lhs, const error_code& __rhs) noexcept
   ^
/usr/include/c++/5/system_error:311:3: note:   no known conversion for argument 1 from 'person' to 'const std::error_code&'
/usr/include/c++/5/system_error:315:3: note: candidate: bool std::operator!=(const std::error_code&, const std::error_condition&)
   operator!=(const error_code& __lhs, const error_condition& __rhs) noexcept
   ^
/usr/include/c++/5/system_error:315:3: note:   no known conversion for argument 1 from 'person' to 'const std::error_code&'
/usr/include/c++/5/system_error:319:3: note: candidate: bool std::operator!=(const std::error_condition&, const std::error_code&)
   operator!=(const error_condition& __lhs, const error_code& __rhs) noexcept
   ^
/usr/include/c++/5/system_error:319:3: note:   no known conversion for argument 1 from 'person' to 'const std::error_condition&'
/usr/include/c++/5/system_error:323:3: note: candidate: bool std::operator!=(const std::error_condition&, const std::error_condition&)
   operator!=(const error_condition& __lhs,
   ^
/usr/include/c++/5/system_error:323:3: note:   no known conversion for argument 1 from 'person' to 'const std::error_condition&'
In file included from /usr/include/c++/5/bits/locale_facets.h:48:0,
                 from /usr/include/c++/5/bits/basic_ios.h:37,
                 from /usr/include/c++/5/ios:44,
                 from /usr/include/c++/5/ostream:38,
                 from /usr/include/c++/5/iostream:39,
                 from prog.cpp:1:
/usr/include/c++/5/bits/streambuf_iterator.h:210:5: note: candidate: template<class _CharT, class _Traits> bool std::operator!=(const std::istreambuf_iterator<_CharT, _Traits>&, const std::istreambuf_iterator<_CharT, _Traits>&)
     operator!=(const istreambuf_iterator<_CharT, _Traits>& __a,
     ^
/usr/include/c++/5/bits/streambuf_iterator.h:210:5: note:   template argument deduction/substitution failed:
prog.cpp:28:26: note:   'person' is not derived from 'const std::istreambuf_iterator<_CharT, _Traits>'
    if (m_objectPerson != nullptr) {
                          ^
prog.cpp:6:10: error: 'std::string person::name' is private
   string name;
          ^
prog.cpp:30:54: error: within this context
    cout<<"Ты огребаешь, "<<m_objectPerson.name<<" "<<m_objectPerson.subname; // здесь всё равно будет ошибка, потому что поля name и subname у тебя приватные, опять же, погугли про сетеры и гетеры.
                                                      ^
prog.cpp:7:10: error: 'std::string person::subname' is private
   string subname;
          ^
prog.cpp:30:80: error: within this context
    cout<<"Ты огребаешь, "<<m_objectPerson.name<<" "<<m_objectPerson.subname; // здесь всё равно будет ошибка, потому что поля name и subname у тебя приватные, опять же, погугли про сетеры и гетеры.
                                                                                ^
prog.cpp: In function 'int main()':
prog.cpp:44:30: error: no matching function for call to 'Pizdulj::add(std::string&, std::string&)'
  razdavatel.add(name, subname);
                              ^
prog.cpp:24:8: note: candidate: void Pizdulj::add(person)
   void add(person newPerson) {
        ^
prog.cpp:24:8: note:   candidate expects 1 argument, 2 provided
stdout
Standard output is empty