-*- mode: compilation; default-directory: "/ssh:detlef:/home/albinus/tmp/" -*- Compilation started at Wed Jan 6 14:06:15 g++ -DHAVE_CONFIG_H -I. -std=c++11 -Wall -Werror -Wclobbered -Wempty-body -Wignored-qualifiers -Wmissing-field-initializers -Wsign-compare -Wtype-limits -Wuninitialized -Winit-self -Wcast-align -Wfloat-equal -Wformat=2 -Wno-psabi -I/usr/include/libxml2 -I../../../kilo -I../../../rapidxml -g3 -Og -DDEBUG=1 -MT test.lo -MD -MP -MF -c test.cpp -fPIC -DPIC -o .libs/test.o test.cpp:23:7: error: ‘Nested::Nested’ has the same name as the class in which it is declared 23 | class Nested | ^~~~~~ test.cpp: In constructor ‘A2::A2()’: test.cpp:95:27: error: no match for ‘operator=’ (operand types are ‘std::shared_ptr’ and ‘A1*’) 95 | A2() {A1 a1; a1ptr = &a1;} | ^~ In file included from /usr/include/c++/10/memory:84, from test.cpp:6: /usr/include/c++/10/bits/shared_ptr.h:358:19: note: candidate: ‘std::shared_ptr<_Tp>& std::shared_ptr<_Tp>::operator=(const std::shared_ptr<_Tp>&) [with _Tp = A1]’ 358 | shared_ptr& operator=(const shared_ptr&) noexcept = default; | ^~~~~~~~ /usr/include/c++/10/bits/shared_ptr.h:358:29: note: no known conversion for argument 1 from ‘A1*’ to ‘const std::shared_ptr&’ 358 | shared_ptr& operator=(const shared_ptr&) noexcept = default; | ^~~~~~~~~~~~~~~~~ /usr/include/c++/10/bits/shared_ptr.h:362:2: note: candidate: ‘template std::shared_ptr<_Tp>::_Assignable&> std::shared_ptr<_Tp>::operator=(const std::shared_ptr<_Yp>&) [with _Yp = _Yp; _Tp = A1]’ 362 | operator=(const shared_ptr<_Yp>& __r) noexcept | ^~~~~~~~ /usr/include/c++/10/bits/shared_ptr.h:362:2: note: template argument deduction/substitution failed: test.cpp:95:27: note: mismatched types ‘const std::shared_ptr<_Tp>’ and ‘A1*’ 95 | A2() {A1 a1; a1ptr = &a1;} | ^~ In file included from /usr/include/c++/10/memory:84, from test.cpp:6: /usr/include/c++/10/bits/shared_ptr.h:373:2: note: candidate: ‘template std::shared_ptr<_Tp>::_Assignable > std::shared_ptr<_Tp>::operator=(std::auto_ptr<_Up>&&) [with _Yp = _Yp; _Tp = A1]’ 373 | operator=(auto_ptr<_Yp>&& __r) | ^~~~~~~~ /usr/include/c++/10/bits/shared_ptr.h:373:2: note: template argument deduction/substitution failed: test.cpp:95:27: note: mismatched types ‘std::auto_ptr<_Up>’ and ‘A1*’ 95 | A2() {A1 a1; a1ptr = &a1;} | ^~ In file included from /usr/include/c++/10/memory:84, from test.cpp:6: /usr/include/c++/10/bits/shared_ptr.h:382:7: note: candidate: ‘std::shared_ptr<_Tp>& std::shared_ptr<_Tp>::operator=(std::shared_ptr<_Tp>&&) [with _Tp = A1]’ 382 | operator=(shared_ptr&& __r) noexcept | ^~~~~~~~ /usr/include/c++/10/bits/shared_ptr.h:382:30: note: no known conversion for argument 1 from ‘A1*’ to ‘std::shared_ptr&&’ 382 | operator=(shared_ptr&& __r) noexcept | ~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/shared_ptr.h:390:2: note: candidate: ‘template std::shared_ptr<_Tp>::_Assignable > std::shared_ptr<_Tp>::operator=(std::shared_ptr<_Yp>&&) [with _Yp = _Yp; _Tp = A1]’ 390 | operator=(shared_ptr<_Yp>&& __r) noexcept | ^~~~~~~~ /usr/include/c++/10/bits/shared_ptr.h:390:2: note: template argument deduction/substitution failed: test.cpp:95:27: note: mismatched types ‘std::shared_ptr<_Tp>’ and ‘A1*’ 95 | A2() {A1 a1; a1ptr = &a1;} | ^~ In file included from /usr/include/c++/10/memory:84, from test.cpp:6: /usr/include/c++/10/bits/shared_ptr.h:398:2: note: candidate: ‘template std::shared_ptr<_Tp>::_Assignable > std::shared_ptr<_Tp>::operator=(std::unique_ptr<_Up, _Ep>&&) [with _Yp = _Yp; _Del = _Del; _Tp = A1]’ 398 | operator=(unique_ptr<_Yp, _Del>&& __r) | ^~~~~~~~ /usr/include/c++/10/bits/shared_ptr.h:398:2: note: template argument deduction/substitution failed: test.cpp:95:27: note: mismatched types ‘std::unique_ptr<_Tp, _Dp>’ and ‘A1*’ 95 | A2() {A1 a1; a1ptr = &a1;} | ^~ test.cpp: At global scope: test.cpp:105:38: error: ‘a1’ was not declared in this scope; did you mean ‘v1’? 105 | const std::vector v1(1, a1); | ^~ | v1 test.cpp:107:32: error: redefinition of ‘const std::vector > v1’ 107 | const std::vector v1(1, n1); | ^~ test.cpp:105:32: note: ‘const std::vector > v1’ previously declared here 105 | const std::vector v1(1, a1); | ^~ test.cpp:107:38: error: ‘n1’ was not declared in this scope; did you mean ‘v1’? 107 | const std::vector v1(1, n1); | ^~ | v1 test.cpp:109:36: error: invalid conversion from ‘const std::vector >*’ to ‘std::vector >*’ [-fpermissive] 109 | std::vector * v1_cptr(&v1); | ^~~ | | | const std::vector >* test.cpp:111:1: error: expected unqualified-id before ‘return’ 111 | return(s1+s2); | ^~~~~~ test.cpp: In member function ‘int A1::f1()’: test.cpp:101:22: error: no matching function for call to ‘std::__cxx11::basic_string::basic_string(A1&)’ 101 | std::string s1(x1); \ | ^ test.cpp:115:5: note: in expansion of macro ‘AN_BODY’ 115 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:625:9: note: candidate: ‘template std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&) [with _InputIterator = _InputIterator; = ; _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 625 | basic_string(_InputIterator __beg, _InputIterator __end, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:625:9: note: template argument deduction/substitution failed: test.cpp:101:22: note: candidate expects 3 arguments, 1 provided 101 | std::string s1(x1); \ | ^ test.cpp:115:5: note: in expansion of macro ‘AN_BODY’ 115 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 587 | basic_string(basic_string&& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 583 | basic_string(const basic_string& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:579:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::initializer_list<_Tp>, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:579:45: note: no known conversion for argument 1 from ‘A1’ to ‘std::initializer_list’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:552:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 552 | basic_string(basic_string&& __str) noexcept | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:552:35: note: no known conversion for argument 1 from ‘A1’ to ‘std::__cxx11::basic_string&&’ 552 | basic_string(basic_string&& __str) noexcept | ~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, _CharT, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 540 | basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:525:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:525:34: note: no known conversion for argument 1 from ‘A1’ to ‘const char*’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 510 | basic_string(const _CharT* __s, size_type __n, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 492 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate expects 4 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 476 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 461 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:448:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 448 | basic_string(const basic_string& __str) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:448:40: note: no known conversion for argument 1 from ‘A1’ to ‘const std::__cxx11::basic_string&’ 448 | basic_string(const basic_string& __str) | ~~~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:440:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:440:34: note: no known conversion for argument 1 from ‘A1’ to ‘const std::allocator&’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 431 | basic_string() | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate expects 0 arguments, 1 provided test.cpp:102:22: error: no matching function for call to ‘std::__cxx11::basic_string::basic_string(A1&)’ 102 | std::string s2(x2); \ | ^ test.cpp:115:5: note: in expansion of macro ‘AN_BODY’ 115 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:625:9: note: candidate: ‘template std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&) [with _InputIterator = _InputIterator; = ; _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 625 | basic_string(_InputIterator __beg, _InputIterator __end, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:625:9: note: template argument deduction/substitution failed: test.cpp:102:22: note: candidate expects 3 arguments, 1 provided 102 | std::string s2(x2); \ | ^ test.cpp:115:5: note: in expansion of macro ‘AN_BODY’ 115 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 587 | basic_string(basic_string&& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 583 | basic_string(const basic_string& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:579:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::initializer_list<_Tp>, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:579:45: note: no known conversion for argument 1 from ‘A1’ to ‘std::initializer_list’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:552:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 552 | basic_string(basic_string&& __str) noexcept | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:552:35: note: no known conversion for argument 1 from ‘A1’ to ‘std::__cxx11::basic_string&&’ 552 | basic_string(basic_string&& __str) noexcept | ~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, _CharT, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 540 | basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:525:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:525:34: note: no known conversion for argument 1 from ‘A1’ to ‘const char*’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 510 | basic_string(const _CharT* __s, size_type __n, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 492 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate expects 4 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 476 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 461 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:448:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 448 | basic_string(const basic_string& __str) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:448:40: note: no known conversion for argument 1 from ‘A1’ to ‘const std::__cxx11::basic_string&’ 448 | basic_string(const basic_string& __str) | ~~~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:440:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:440:34: note: no known conversion for argument 1 from ‘A1’ to ‘const std::allocator&’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 431 | basic_string() | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate expects 0 arguments, 1 provided test.cpp:103:8: error: unused variable ‘n1’ [-Werror=unused-variable] 103 | Nested n1; | ^~ test.cpp:115:5: note: in expansion of macro ‘AN_BODY’ 115 | AN_BODY; | ^~~~~~~ test.cpp:116:1: error: no return statement in function returning non-void [-Werror=return-type] 116 | } | ^ test.cpp: In member function ‘int A1::f2()’: test.cpp:101:22: error: no matching function for call to ‘std::__cxx11::basic_string::basic_string(A1&)’ 101 | std::string s1(x1); \ | ^ test.cpp:120:5: note: in expansion of macro ‘AN_BODY’ 120 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:625:9: note: candidate: ‘template std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&) [with _InputIterator = _InputIterator; = ; _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 625 | basic_string(_InputIterator __beg, _InputIterator __end, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:625:9: note: template argument deduction/substitution failed: test.cpp:101:22: note: candidate expects 3 arguments, 1 provided 101 | std::string s1(x1); \ | ^ test.cpp:120:5: note: in expansion of macro ‘AN_BODY’ 120 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 587 | basic_string(basic_string&& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 583 | basic_string(const basic_string& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:579:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::initializer_list<_Tp>, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:579:45: note: no known conversion for argument 1 from ‘A1’ to ‘std::initializer_list’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:552:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 552 | basic_string(basic_string&& __str) noexcept | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:552:35: note: no known conversion for argument 1 from ‘A1’ to ‘std::__cxx11::basic_string&&’ 552 | basic_string(basic_string&& __str) noexcept | ~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, _CharT, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 540 | basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:525:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:525:34: note: no known conversion for argument 1 from ‘A1’ to ‘const char*’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 510 | basic_string(const _CharT* __s, size_type __n, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 492 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate expects 4 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 476 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 461 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:448:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 448 | basic_string(const basic_string& __str) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:448:40: note: no known conversion for argument 1 from ‘A1’ to ‘const std::__cxx11::basic_string&’ 448 | basic_string(const basic_string& __str) | ~~~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:440:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:440:34: note: no known conversion for argument 1 from ‘A1’ to ‘const std::allocator&’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 431 | basic_string() | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate expects 0 arguments, 1 provided test.cpp:102:22: error: no matching function for call to ‘std::__cxx11::basic_string::basic_string(A1&)’ 102 | std::string s2(x2); \ | ^ test.cpp:120:5: note: in expansion of macro ‘AN_BODY’ 120 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:625:9: note: candidate: ‘template std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&) [with _InputIterator = _InputIterator; = ; _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 625 | basic_string(_InputIterator __beg, _InputIterator __end, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:625:9: note: template argument deduction/substitution failed: test.cpp:102:22: note: candidate expects 3 arguments, 1 provided 102 | std::string s2(x2); \ | ^ test.cpp:120:5: note: in expansion of macro ‘AN_BODY’ 120 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 587 | basic_string(basic_string&& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 583 | basic_string(const basic_string& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:579:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::initializer_list<_Tp>, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:579:45: note: no known conversion for argument 1 from ‘A1’ to ‘std::initializer_list’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:552:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 552 | basic_string(basic_string&& __str) noexcept | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:552:35: note: no known conversion for argument 1 from ‘A1’ to ‘std::__cxx11::basic_string&&’ 552 | basic_string(basic_string&& __str) noexcept | ~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, _CharT, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 540 | basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:525:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:525:34: note: no known conversion for argument 1 from ‘A1’ to ‘const char*’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 510 | basic_string(const _CharT* __s, size_type __n, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 492 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate expects 4 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 476 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 461 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:448:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 448 | basic_string(const basic_string& __str) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:448:40: note: no known conversion for argument 1 from ‘A1’ to ‘const std::__cxx11::basic_string&’ 448 | basic_string(const basic_string& __str) | ~~~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:440:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:440:34: note: no known conversion for argument 1 from ‘A1’ to ‘const std::allocator&’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 431 | basic_string() | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate expects 0 arguments, 1 provided test.cpp:103:8: error: unused variable ‘n1’ [-Werror=unused-variable] 103 | Nested n1; | ^~ test.cpp:120:5: note: in expansion of macro ‘AN_BODY’ 120 | AN_BODY; | ^~~~~~~ test.cpp:121:1: error: no return statement in function returning non-void [-Werror=return-type] 121 | } | ^ test.cpp: In member function ‘int A1::f3()’: test.cpp:101:22: error: no matching function for call to ‘std::__cxx11::basic_string::basic_string(A1&)’ 101 | std::string s1(x1); \ | ^ test.cpp:125:5: note: in expansion of macro ‘AN_BODY’ 125 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:625:9: note: candidate: ‘template std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&) [with _InputIterator = _InputIterator; = ; _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 625 | basic_string(_InputIterator __beg, _InputIterator __end, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:625:9: note: template argument deduction/substitution failed: test.cpp:101:22: note: candidate expects 3 arguments, 1 provided 101 | std::string s1(x1); \ | ^ test.cpp:125:5: note: in expansion of macro ‘AN_BODY’ 125 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 587 | basic_string(basic_string&& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 583 | basic_string(const basic_string& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:579:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::initializer_list<_Tp>, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:579:45: note: no known conversion for argument 1 from ‘A1’ to ‘std::initializer_list’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:552:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 552 | basic_string(basic_string&& __str) noexcept | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:552:35: note: no known conversion for argument 1 from ‘A1’ to ‘std::__cxx11::basic_string&&’ 552 | basic_string(basic_string&& __str) noexcept | ~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, _CharT, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 540 | basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:525:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:525:34: note: no known conversion for argument 1 from ‘A1’ to ‘const char*’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 510 | basic_string(const _CharT* __s, size_type __n, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 492 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate expects 4 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 476 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 461 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:448:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 448 | basic_string(const basic_string& __str) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:448:40: note: no known conversion for argument 1 from ‘A1’ to ‘const std::__cxx11::basic_string&’ 448 | basic_string(const basic_string& __str) | ~~~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:440:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:440:34: note: no known conversion for argument 1 from ‘A1’ to ‘const std::allocator&’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 431 | basic_string() | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate expects 0 arguments, 1 provided test.cpp:102:22: error: no matching function for call to ‘std::__cxx11::basic_string::basic_string(A1&)’ 102 | std::string s2(x2); \ | ^ test.cpp:125:5: note: in expansion of macro ‘AN_BODY’ 125 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:625:9: note: candidate: ‘template std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&) [with _InputIterator = _InputIterator; = ; _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 625 | basic_string(_InputIterator __beg, _InputIterator __end, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:625:9: note: template argument deduction/substitution failed: test.cpp:102:22: note: candidate expects 3 arguments, 1 provided 102 | std::string s2(x2); \ | ^ test.cpp:125:5: note: in expansion of macro ‘AN_BODY’ 125 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 587 | basic_string(basic_string&& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 583 | basic_string(const basic_string& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:579:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::initializer_list<_Tp>, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:579:45: note: no known conversion for argument 1 from ‘A1’ to ‘std::initializer_list’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:552:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 552 | basic_string(basic_string&& __str) noexcept | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:552:35: note: no known conversion for argument 1 from ‘A1’ to ‘std::__cxx11::basic_string&&’ 552 | basic_string(basic_string&& __str) noexcept | ~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, _CharT, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 540 | basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:525:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:525:34: note: no known conversion for argument 1 from ‘A1’ to ‘const char*’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 510 | basic_string(const _CharT* __s, size_type __n, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 492 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate expects 4 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 476 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 461 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:448:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 448 | basic_string(const basic_string& __str) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:448:40: note: no known conversion for argument 1 from ‘A1’ to ‘const std::__cxx11::basic_string&’ 448 | basic_string(const basic_string& __str) | ~~~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:440:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:440:34: note: no known conversion for argument 1 from ‘A1’ to ‘const std::allocator&’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 431 | basic_string() | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate expects 0 arguments, 1 provided test.cpp:103:8: error: unused variable ‘n1’ [-Werror=unused-variable] 103 | Nested n1; | ^~ test.cpp:125:5: note: in expansion of macro ‘AN_BODY’ 125 | AN_BODY; | ^~~~~~~ test.cpp:126:1: error: no return statement in function returning non-void [-Werror=return-type] 126 | } | ^ test.cpp: In member function ‘int A1::f4()’: test.cpp:101:22: error: no matching function for call to ‘std::__cxx11::basic_string::basic_string(A1&)’ 101 | std::string s1(x1); \ | ^ test.cpp:130:5: note: in expansion of macro ‘AN_BODY’ 130 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:625:9: note: candidate: ‘template std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&) [with _InputIterator = _InputIterator; = ; _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 625 | basic_string(_InputIterator __beg, _InputIterator __end, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:625:9: note: template argument deduction/substitution failed: test.cpp:101:22: note: candidate expects 3 arguments, 1 provided 101 | std::string s1(x1); \ | ^ test.cpp:130:5: note: in expansion of macro ‘AN_BODY’ 130 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 587 | basic_string(basic_string&& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 583 | basic_string(const basic_string& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:579:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::initializer_list<_Tp>, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:579:45: note: no known conversion for argument 1 from ‘A1’ to ‘std::initializer_list’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:552:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 552 | basic_string(basic_string&& __str) noexcept | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:552:35: note: no known conversion for argument 1 from ‘A1’ to ‘std::__cxx11::basic_string&&’ 552 | basic_string(basic_string&& __str) noexcept | ~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, _CharT, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 540 | basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:525:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:525:34: note: no known conversion for argument 1 from ‘A1’ to ‘const char*’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 510 | basic_string(const _CharT* __s, size_type __n, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 492 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate expects 4 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 476 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 461 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:448:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 448 | basic_string(const basic_string& __str) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:448:40: note: no known conversion for argument 1 from ‘A1’ to ‘const std::__cxx11::basic_string&’ 448 | basic_string(const basic_string& __str) | ~~~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:440:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:440:34: note: no known conversion for argument 1 from ‘A1’ to ‘const std::allocator&’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 431 | basic_string() | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate expects 0 arguments, 1 provided test.cpp:102:22: error: no matching function for call to ‘std::__cxx11::basic_string::basic_string(A1&)’ 102 | std::string s2(x2); \ | ^ test.cpp:130:5: note: in expansion of macro ‘AN_BODY’ 130 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:625:9: note: candidate: ‘template std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&) [with _InputIterator = _InputIterator; = ; _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 625 | basic_string(_InputIterator __beg, _InputIterator __end, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:625:9: note: template argument deduction/substitution failed: test.cpp:102:22: note: candidate expects 3 arguments, 1 provided 102 | std::string s2(x2); \ | ^ test.cpp:130:5: note: in expansion of macro ‘AN_BODY’ 130 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 587 | basic_string(basic_string&& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 583 | basic_string(const basic_string& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:579:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::initializer_list<_Tp>, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:579:45: note: no known conversion for argument 1 from ‘A1’ to ‘std::initializer_list’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:552:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 552 | basic_string(basic_string&& __str) noexcept | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:552:35: note: no known conversion for argument 1 from ‘A1’ to ‘std::__cxx11::basic_string&&’ 552 | basic_string(basic_string&& __str) noexcept | ~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, _CharT, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 540 | basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:525:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:525:34: note: no known conversion for argument 1 from ‘A1’ to ‘const char*’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 510 | basic_string(const _CharT* __s, size_type __n, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 492 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate expects 4 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 476 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 461 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:448:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 448 | basic_string(const basic_string& __str) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:448:40: note: no known conversion for argument 1 from ‘A1’ to ‘const std::__cxx11::basic_string&’ 448 | basic_string(const basic_string& __str) | ~~~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:440:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:440:34: note: no known conversion for argument 1 from ‘A1’ to ‘const std::allocator&’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 431 | basic_string() | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate expects 0 arguments, 1 provided test.cpp:103:8: error: unused variable ‘n1’ [-Werror=unused-variable] 103 | Nested n1; | ^~ test.cpp:130:5: note: in expansion of macro ‘AN_BODY’ 130 | AN_BODY; | ^~~~~~~ test.cpp:131:1: error: no return statement in function returning non-void [-Werror=return-type] 131 | } | ^ test.cpp: In member function ‘int A1::f5()’: test.cpp:101:22: error: no matching function for call to ‘std::__cxx11::basic_string::basic_string(A1&)’ 101 | std::string s1(x1); \ | ^ test.cpp:135:5: note: in expansion of macro ‘AN_BODY’ 135 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:625:9: note: candidate: ‘template std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&) [with _InputIterator = _InputIterator; = ; _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 625 | basic_string(_InputIterator __beg, _InputIterator __end, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:625:9: note: template argument deduction/substitution failed: test.cpp:101:22: note: candidate expects 3 arguments, 1 provided 101 | std::string s1(x1); \ | ^ test.cpp:135:5: note: in expansion of macro ‘AN_BODY’ 135 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 587 | basic_string(basic_string&& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 583 | basic_string(const basic_string& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:579:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::initializer_list<_Tp>, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:579:45: note: no known conversion for argument 1 from ‘A1’ to ‘std::initializer_list’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:552:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 552 | basic_string(basic_string&& __str) noexcept | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:552:35: note: no known conversion for argument 1 from ‘A1’ to ‘std::__cxx11::basic_string&&’ 552 | basic_string(basic_string&& __str) noexcept | ~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, _CharT, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 540 | basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:525:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:525:34: note: no known conversion for argument 1 from ‘A1’ to ‘const char*’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 510 | basic_string(const _CharT* __s, size_type __n, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 492 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate expects 4 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 476 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 461 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:448:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 448 | basic_string(const basic_string& __str) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:448:40: note: no known conversion for argument 1 from ‘A1’ to ‘const std::__cxx11::basic_string&’ 448 | basic_string(const basic_string& __str) | ~~~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:440:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:440:34: note: no known conversion for argument 1 from ‘A1’ to ‘const std::allocator&’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 431 | basic_string() | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate expects 0 arguments, 1 provided test.cpp:102:22: error: no matching function for call to ‘std::__cxx11::basic_string::basic_string(A1&)’ 102 | std::string s2(x2); \ | ^ test.cpp:135:5: note: in expansion of macro ‘AN_BODY’ 135 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:625:9: note: candidate: ‘template std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&) [with _InputIterator = _InputIterator; = ; _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 625 | basic_string(_InputIterator __beg, _InputIterator __end, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:625:9: note: template argument deduction/substitution failed: test.cpp:102:22: note: candidate expects 3 arguments, 1 provided 102 | std::string s2(x2); \ | ^ test.cpp:135:5: note: in expansion of macro ‘AN_BODY’ 135 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 587 | basic_string(basic_string&& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 583 | basic_string(const basic_string& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:579:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::initializer_list<_Tp>, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:579:45: note: no known conversion for argument 1 from ‘A1’ to ‘std::initializer_list’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:552:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 552 | basic_string(basic_string&& __str) noexcept | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:552:35: note: no known conversion for argument 1 from ‘A1’ to ‘std::__cxx11::basic_string&&’ 552 | basic_string(basic_string&& __str) noexcept | ~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, _CharT, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 540 | basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:525:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:525:34: note: no known conversion for argument 1 from ‘A1’ to ‘const char*’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 510 | basic_string(const _CharT* __s, size_type __n, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 492 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate expects 4 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 476 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 461 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:448:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 448 | basic_string(const basic_string& __str) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:448:40: note: no known conversion for argument 1 from ‘A1’ to ‘const std::__cxx11::basic_string&’ 448 | basic_string(const basic_string& __str) | ~~~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:440:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:440:34: note: no known conversion for argument 1 from ‘A1’ to ‘const std::allocator&’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 431 | basic_string() | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate expects 0 arguments, 1 provided test.cpp:103:8: error: unused variable ‘n1’ [-Werror=unused-variable] 103 | Nested n1; | ^~ test.cpp:135:5: note: in expansion of macro ‘AN_BODY’ 135 | AN_BODY; | ^~~~~~~ test.cpp:136:1: error: no return statement in function returning non-void [-Werror=return-type] 136 | } | ^ test.cpp: In member function ‘int A1::f6()’: test.cpp:101:22: error: no matching function for call to ‘std::__cxx11::basic_string::basic_string(A1&)’ 101 | std::string s1(x1); \ | ^ test.cpp:140:5: note: in expansion of macro ‘AN_BODY’ 140 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:625:9: note: candidate: ‘template std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&) [with _InputIterator = _InputIterator; = ; _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 625 | basic_string(_InputIterator __beg, _InputIterator __end, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:625:9: note: template argument deduction/substitution failed: test.cpp:101:22: note: candidate expects 3 arguments, 1 provided 101 | std::string s1(x1); \ | ^ test.cpp:140:5: note: in expansion of macro ‘AN_BODY’ 140 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 587 | basic_string(basic_string&& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 583 | basic_string(const basic_string& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:579:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::initializer_list<_Tp>, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:579:45: note: no known conversion for argument 1 from ‘A1’ to ‘std::initializer_list’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:552:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 552 | basic_string(basic_string&& __str) noexcept | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:552:35: note: no known conversion for argument 1 from ‘A1’ to ‘std::__cxx11::basic_string&&’ 552 | basic_string(basic_string&& __str) noexcept | ~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, _CharT, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 540 | basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:525:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:525:34: note: no known conversion for argument 1 from ‘A1’ to ‘const char*’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 510 | basic_string(const _CharT* __s, size_type __n, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 492 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate expects 4 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 476 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 461 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:448:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 448 | basic_string(const basic_string& __str) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:448:40: note: no known conversion for argument 1 from ‘A1’ to ‘const std::__cxx11::basic_string&’ 448 | basic_string(const basic_string& __str) | ~~~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:440:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:440:34: note: no known conversion for argument 1 from ‘A1’ to ‘const std::allocator&’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 431 | basic_string() | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate expects 0 arguments, 1 provided test.cpp:102:22: error: no matching function for call to ‘std::__cxx11::basic_string::basic_string(A1&)’ 102 | std::string s2(x2); \ | ^ test.cpp:140:5: note: in expansion of macro ‘AN_BODY’ 140 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:625:9: note: candidate: ‘template std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&) [with _InputIterator = _InputIterator; = ; _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 625 | basic_string(_InputIterator __beg, _InputIterator __end, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:625:9: note: template argument deduction/substitution failed: test.cpp:102:22: note: candidate expects 3 arguments, 1 provided 102 | std::string s2(x2); \ | ^ test.cpp:140:5: note: in expansion of macro ‘AN_BODY’ 140 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 587 | basic_string(basic_string&& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 583 | basic_string(const basic_string& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:579:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::initializer_list<_Tp>, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:579:45: note: no known conversion for argument 1 from ‘A1’ to ‘std::initializer_list’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:552:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 552 | basic_string(basic_string&& __str) noexcept | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:552:35: note: no known conversion for argument 1 from ‘A1’ to ‘std::__cxx11::basic_string&&’ 552 | basic_string(basic_string&& __str) noexcept | ~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, _CharT, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 540 | basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:525:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:525:34: note: no known conversion for argument 1 from ‘A1’ to ‘const char*’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 510 | basic_string(const _CharT* __s, size_type __n, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 492 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate expects 4 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 476 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 461 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:448:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 448 | basic_string(const basic_string& __str) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:448:40: note: no known conversion for argument 1 from ‘A1’ to ‘const std::__cxx11::basic_string&’ 448 | basic_string(const basic_string& __str) | ~~~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:440:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:440:34: note: no known conversion for argument 1 from ‘A1’ to ‘const std::allocator&’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 431 | basic_string() | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate expects 0 arguments, 1 provided test.cpp:103:8: error: unused variable ‘n1’ [-Werror=unused-variable] 103 | Nested n1; | ^~ test.cpp:140:5: note: in expansion of macro ‘AN_BODY’ 140 | AN_BODY; | ^~~~~~~ test.cpp:141:1: error: no return statement in function returning non-void [-Werror=return-type] 141 | } | ^ test.cpp: In member function ‘int A1::f7()’: test.cpp:101:22: error: no matching function for call to ‘std::__cxx11::basic_string::basic_string(A1&)’ 101 | std::string s1(x1); \ | ^ test.cpp:145:5: note: in expansion of macro ‘AN_BODY’ 145 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:625:9: note: candidate: ‘template std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&) [with _InputIterator = _InputIterator; = ; _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 625 | basic_string(_InputIterator __beg, _InputIterator __end, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:625:9: note: template argument deduction/substitution failed: test.cpp:101:22: note: candidate expects 3 arguments, 1 provided 101 | std::string s1(x1); \ | ^ test.cpp:145:5: note: in expansion of macro ‘AN_BODY’ 145 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 587 | basic_string(basic_string&& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 583 | basic_string(const basic_string& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:579:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::initializer_list<_Tp>, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:579:45: note: no known conversion for argument 1 from ‘A1’ to ‘std::initializer_list’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:552:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 552 | basic_string(basic_string&& __str) noexcept | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:552:35: note: no known conversion for argument 1 from ‘A1’ to ‘std::__cxx11::basic_string&&’ 552 | basic_string(basic_string&& __str) noexcept | ~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, _CharT, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 540 | basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:525:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:525:34: note: no known conversion for argument 1 from ‘A1’ to ‘const char*’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 510 | basic_string(const _CharT* __s, size_type __n, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 492 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate expects 4 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 476 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 461 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:448:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 448 | basic_string(const basic_string& __str) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:448:40: note: no known conversion for argument 1 from ‘A1’ to ‘const std::__cxx11::basic_string&’ 448 | basic_string(const basic_string& __str) | ~~~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:440:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:440:34: note: no known conversion for argument 1 from ‘A1’ to ‘const std::allocator&’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 431 | basic_string() | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate expects 0 arguments, 1 provided test.cpp:102:22: error: no matching function for call to ‘std::__cxx11::basic_string::basic_string(A1&)’ 102 | std::string s2(x2); \ | ^ test.cpp:145:5: note: in expansion of macro ‘AN_BODY’ 145 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:625:9: note: candidate: ‘template std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&) [with _InputIterator = _InputIterator; = ; _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 625 | basic_string(_InputIterator __beg, _InputIterator __end, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:625:9: note: template argument deduction/substitution failed: test.cpp:102:22: note: candidate expects 3 arguments, 1 provided 102 | std::string s2(x2); \ | ^ test.cpp:145:5: note: in expansion of macro ‘AN_BODY’ 145 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 587 | basic_string(basic_string&& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 583 | basic_string(const basic_string& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:579:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::initializer_list<_Tp>, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:579:45: note: no known conversion for argument 1 from ‘A1’ to ‘std::initializer_list’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:552:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 552 | basic_string(basic_string&& __str) noexcept | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:552:35: note: no known conversion for argument 1 from ‘A1’ to ‘std::__cxx11::basic_string&&’ 552 | basic_string(basic_string&& __str) noexcept | ~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, _CharT, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 540 | basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:525:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:525:34: note: no known conversion for argument 1 from ‘A1’ to ‘const char*’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 510 | basic_string(const _CharT* __s, size_type __n, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 492 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate expects 4 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 476 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 461 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:448:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 448 | basic_string(const basic_string& __str) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:448:40: note: no known conversion for argument 1 from ‘A1’ to ‘const std::__cxx11::basic_string&’ 448 | basic_string(const basic_string& __str) | ~~~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:440:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:440:34: note: no known conversion for argument 1 from ‘A1’ to ‘const std::allocator&’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 431 | basic_string() | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate expects 0 arguments, 1 provided test.cpp:103:8: error: unused variable ‘n1’ [-Werror=unused-variable] 103 | Nested n1; | ^~ test.cpp:145:5: note: in expansion of macro ‘AN_BODY’ 145 | AN_BODY; | ^~~~~~~ test.cpp:146:1: error: no return statement in function returning non-void [-Werror=return-type] 146 | } | ^ test.cpp: In member function ‘int A1::f8()’: test.cpp:101:22: error: no matching function for call to ‘std::__cxx11::basic_string::basic_string(A1&)’ 101 | std::string s1(x1); \ | ^ test.cpp:150:5: note: in expansion of macro ‘AN_BODY’ 150 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:625:9: note: candidate: ‘template std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&) [with _InputIterator = _InputIterator; = ; _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 625 | basic_string(_InputIterator __beg, _InputIterator __end, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:625:9: note: template argument deduction/substitution failed: test.cpp:101:22: note: candidate expects 3 arguments, 1 provided 101 | std::string s1(x1); \ | ^ test.cpp:150:5: note: in expansion of macro ‘AN_BODY’ 150 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 587 | basic_string(basic_string&& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 583 | basic_string(const basic_string& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:579:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::initializer_list<_Tp>, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:579:45: note: no known conversion for argument 1 from ‘A1’ to ‘std::initializer_list’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:552:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 552 | basic_string(basic_string&& __str) noexcept | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:552:35: note: no known conversion for argument 1 from ‘A1’ to ‘std::__cxx11::basic_string&&’ 552 | basic_string(basic_string&& __str) noexcept | ~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, _CharT, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 540 | basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:525:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:525:34: note: no known conversion for argument 1 from ‘A1’ to ‘const char*’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 510 | basic_string(const _CharT* __s, size_type __n, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 492 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate expects 4 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 476 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 461 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:448:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 448 | basic_string(const basic_string& __str) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:448:40: note: no known conversion for argument 1 from ‘A1’ to ‘const std::__cxx11::basic_string&’ 448 | basic_string(const basic_string& __str) | ~~~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:440:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:440:34: note: no known conversion for argument 1 from ‘A1’ to ‘const std::allocator&’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 431 | basic_string() | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate expects 0 arguments, 1 provided test.cpp:102:22: error: no matching function for call to ‘std::__cxx11::basic_string::basic_string(A1&)’ 102 | std::string s2(x2); \ | ^ test.cpp:150:5: note: in expansion of macro ‘AN_BODY’ 150 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:625:9: note: candidate: ‘template std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&) [with _InputIterator = _InputIterator; = ; _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 625 | basic_string(_InputIterator __beg, _InputIterator __end, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:625:9: note: template argument deduction/substitution failed: test.cpp:102:22: note: candidate expects 3 arguments, 1 provided 102 | std::string s2(x2); \ | ^ test.cpp:150:5: note: in expansion of macro ‘AN_BODY’ 150 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 587 | basic_string(basic_string&& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 583 | basic_string(const basic_string& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:579:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::initializer_list<_Tp>, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:579:45: note: no known conversion for argument 1 from ‘A1’ to ‘std::initializer_list’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:552:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 552 | basic_string(basic_string&& __str) noexcept | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:552:35: note: no known conversion for argument 1 from ‘A1’ to ‘std::__cxx11::basic_string&&’ 552 | basic_string(basic_string&& __str) noexcept | ~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, _CharT, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 540 | basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:525:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:525:34: note: no known conversion for argument 1 from ‘A1’ to ‘const char*’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 510 | basic_string(const _CharT* __s, size_type __n, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 492 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate expects 4 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 476 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 461 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:448:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 448 | basic_string(const basic_string& __str) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:448:40: note: no known conversion for argument 1 from ‘A1’ to ‘const std::__cxx11::basic_string&’ 448 | basic_string(const basic_string& __str) | ~~~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:440:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:440:34: note: no known conversion for argument 1 from ‘A1’ to ‘const std::allocator&’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 431 | basic_string() | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate expects 0 arguments, 1 provided test.cpp:103:8: error: unused variable ‘n1’ [-Werror=unused-variable] 103 | Nested n1; | ^~ test.cpp:150:5: note: in expansion of macro ‘AN_BODY’ 150 | AN_BODY; | ^~~~~~~ test.cpp:151:1: error: no return statement in function returning non-void [-Werror=return-type] 151 | } | ^ test.cpp: In member function ‘int A1::f9()’: test.cpp:101:22: error: no matching function for call to ‘std::__cxx11::basic_string::basic_string(A1&)’ 101 | std::string s1(x1); \ | ^ test.cpp:155:5: note: in expansion of macro ‘AN_BODY’ 155 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:625:9: note: candidate: ‘template std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&) [with _InputIterator = _InputIterator; = ; _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 625 | basic_string(_InputIterator __beg, _InputIterator __end, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:625:9: note: template argument deduction/substitution failed: test.cpp:101:22: note: candidate expects 3 arguments, 1 provided 101 | std::string s1(x1); \ | ^ test.cpp:155:5: note: in expansion of macro ‘AN_BODY’ 155 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 587 | basic_string(basic_string&& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 583 | basic_string(const basic_string& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:579:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::initializer_list<_Tp>, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:579:45: note: no known conversion for argument 1 from ‘A1’ to ‘std::initializer_list’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:552:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 552 | basic_string(basic_string&& __str) noexcept | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:552:35: note: no known conversion for argument 1 from ‘A1’ to ‘std::__cxx11::basic_string&&’ 552 | basic_string(basic_string&& __str) noexcept | ~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, _CharT, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 540 | basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:525:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:525:34: note: no known conversion for argument 1 from ‘A1’ to ‘const char*’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 510 | basic_string(const _CharT* __s, size_type __n, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 492 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate expects 4 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 476 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 461 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:448:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 448 | basic_string(const basic_string& __str) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:448:40: note: no known conversion for argument 1 from ‘A1’ to ‘const std::__cxx11::basic_string&’ 448 | basic_string(const basic_string& __str) | ~~~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:440:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:440:34: note: no known conversion for argument 1 from ‘A1’ to ‘const std::allocator&’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 431 | basic_string() | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate expects 0 arguments, 1 provided test.cpp:102:22: error: no matching function for call to ‘std::__cxx11::basic_string::basic_string(A1&)’ 102 | std::string s2(x2); \ | ^ test.cpp:155:5: note: in expansion of macro ‘AN_BODY’ 155 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:625:9: note: candidate: ‘template std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&) [with _InputIterator = _InputIterator; = ; _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 625 | basic_string(_InputIterator __beg, _InputIterator __end, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:625:9: note: template argument deduction/substitution failed: test.cpp:102:22: note: candidate expects 3 arguments, 1 provided 102 | std::string s2(x2); \ | ^ test.cpp:155:5: note: in expansion of macro ‘AN_BODY’ 155 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 587 | basic_string(basic_string&& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 583 | basic_string(const basic_string& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:579:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::initializer_list<_Tp>, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:579:45: note: no known conversion for argument 1 from ‘A1’ to ‘std::initializer_list’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:552:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 552 | basic_string(basic_string&& __str) noexcept | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:552:35: note: no known conversion for argument 1 from ‘A1’ to ‘std::__cxx11::basic_string&&’ 552 | basic_string(basic_string&& __str) noexcept | ~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, _CharT, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 540 | basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:525:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:525:34: note: no known conversion for argument 1 from ‘A1’ to ‘const char*’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 510 | basic_string(const _CharT* __s, size_type __n, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 492 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate expects 4 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 476 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 461 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:448:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 448 | basic_string(const basic_string& __str) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:448:40: note: no known conversion for argument 1 from ‘A1’ to ‘const std::__cxx11::basic_string&’ 448 | basic_string(const basic_string& __str) | ~~~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:440:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:440:34: note: no known conversion for argument 1 from ‘A1’ to ‘const std::allocator&’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 431 | basic_string() | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate expects 0 arguments, 1 provided test.cpp:103:8: error: unused variable ‘n1’ [-Werror=unused-variable] 103 | Nested n1; | ^~ test.cpp:155:5: note: in expansion of macro ‘AN_BODY’ 155 | AN_BODY; | ^~~~~~~ test.cpp:156:1: error: no return statement in function returning non-void [-Werror=return-type] 156 | } | ^ test.cpp: At global scope: test.cpp:158:5: error: no declaration matches ‘int A1::f10()’ 158 | int A1::f10() | ^~ test.cpp:158:5: note: no functions named ‘int A1::f10()’ test.cpp:8:7: note: ‘class A1’ defined here 8 | class A1 | ^~ test.cpp: In function ‘int main(int, char**)’: test.cpp:101:22: error: no matching function for call to ‘std::__cxx11::basic_string::basic_string(A1&)’ 101 | std::string s1(x1); \ | ^ test.cpp:165:5: note: in expansion of macro ‘AN_BODY’ 165 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:625:9: note: candidate: ‘template std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&) [with _InputIterator = _InputIterator; = ; _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 625 | basic_string(_InputIterator __beg, _InputIterator __end, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:625:9: note: template argument deduction/substitution failed: test.cpp:101:22: note: candidate expects 3 arguments, 1 provided 101 | std::string s1(x1); \ | ^ test.cpp:165:5: note: in expansion of macro ‘AN_BODY’ 165 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 587 | basic_string(basic_string&& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 583 | basic_string(const basic_string& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:579:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::initializer_list<_Tp>, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:579:45: note: no known conversion for argument 1 from ‘A1’ to ‘std::initializer_list’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:552:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 552 | basic_string(basic_string&& __str) noexcept | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:552:35: note: no known conversion for argument 1 from ‘A1’ to ‘std::__cxx11::basic_string&&’ 552 | basic_string(basic_string&& __str) noexcept | ~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, _CharT, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 540 | basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:525:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:525:34: note: no known conversion for argument 1 from ‘A1’ to ‘const char*’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 510 | basic_string(const _CharT* __s, size_type __n, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 492 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate expects 4 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 476 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 461 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:448:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 448 | basic_string(const basic_string& __str) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:448:40: note: no known conversion for argument 1 from ‘A1’ to ‘const std::__cxx11::basic_string&’ 448 | basic_string(const basic_string& __str) | ~~~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:440:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:440:34: note: no known conversion for argument 1 from ‘A1’ to ‘const std::allocator&’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 431 | basic_string() | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate expects 0 arguments, 1 provided test.cpp:102:22: error: no matching function for call to ‘std::__cxx11::basic_string::basic_string(A1&)’ 102 | std::string s2(x2); \ | ^ test.cpp:165:5: note: in expansion of macro ‘AN_BODY’ 165 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:625:9: note: candidate: ‘template std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&) [with _InputIterator = _InputIterator; = ; _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 625 | basic_string(_InputIterator __beg, _InputIterator __end, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:625:9: note: template argument deduction/substitution failed: test.cpp:102:22: note: candidate expects 3 arguments, 1 provided 102 | std::string s2(x2); \ | ^ test.cpp:165:5: note: in expansion of macro ‘AN_BODY’ 165 | AN_BODY; | ^~~~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/stdexcept:39, from /usr/include/c++/10/system_error:41, from /usr/include/c++/10/mutex:42, from test.cpp:3: /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 587 | basic_string(basic_string&& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:587:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 583 | basic_string(const basic_string& __str, const _Alloc& __a) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:583:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:579:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::initializer_list<_Tp>, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:579:45: note: no known conversion for argument 1 from ‘A1’ to ‘std::initializer_list’ 579 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:552:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 552 | basic_string(basic_string&& __str) noexcept | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:552:35: note: no known conversion for argument 1 from ‘A1’ to ‘std::__cxx11::basic_string&&’ 552 | basic_string(basic_string&& __str) noexcept | ~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, _CharT, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 540 | basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:540:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:525:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:525:34: note: no known conversion for argument 1 from ‘A1’ to ‘const char*’ 525 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 510 | basic_string(const _CharT* __s, size_type __n, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:510:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 492 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:492:7: note: candidate expects 4 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 476 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:476:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’ 461 | basic_string(const basic_string& __str, size_type __pos, | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:461:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/10/bits/basic_string.h:448:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 448 | basic_string(const basic_string& __str) | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:448:40: note: no known conversion for argument 1 from ‘A1’ to ‘const std::__cxx11::basic_string&’ 448 | basic_string(const basic_string& __str) | ~~~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/bits/basic_string.h:440:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Alloc&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:440:34: note: no known conversion for argument 1 from ‘A1’ to ‘const std::allocator&’ 440 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT | ~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]’ 431 | basic_string() | ^~~~~~~~~~~~ /usr/include/c++/10/bits/basic_string.h:431:7: note: candidate expects 0 arguments, 1 provided test.cpp:103:8: error: unused variable ‘n1’ [-Werror=unused-variable] 103 | Nested n1; | ^~ test.cpp:165:5: note: in expansion of macro ‘AN_BODY’ 165 | AN_BODY; | ^~~~~~~ cc1plus: all warnings being treated as errors Compilation exited abnormally with code 1 at Wed Jan 6 14:06:17