Main.cc: In function ‘int main()’: Main.cc:9:13: error: no match for ‘operator-’ (operand types are ‘std::string’ {aka ‘std::__cxx11::basic_string’} and ‘const char [2]’) 9 | a=a-"0"+"1"; | ~^~~~ | | | | | const char [2] | std::string {aka std::__cxx11::basic_string} In file included from /usr/include/c++/9/bits/stl_algobase.h:67, from /usr/include/c++/9/bits/char_traits.h:39, from /usr/include/c++/9/ios:40, from /usr/include/c++/9/istream:38, from /usr/include/c++/9/sstream:38, from /usr/include/c++/9/complex:45, from /usr/include/c++/9/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54, from Main.cc:1: /usr/include/c++/9/bits/stl_iterator.h:415:5: note: candidate: ‘template decltype ((__y.base() - __x.base())) std::operator-(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_IteratorR>&)’ 415 | operator-(const reverse_iterator<_IteratorL>& __x, | ^~~~~~~~ /usr/include/c++/9/bits/stl_iterator.h:415:5: note: template argument deduction/substitution failed: Main.cc:9:14: note: ‘std::string’ {aka ‘std::__cxx11::basic_string’} is not derived from ‘const std::reverse_iterator<_Iterator>’ 9 | a=a-"0"+"1"; | ^~~ In file included from /usr/include/c++/9/bits/stl_algobase.h:67, from /usr/include/c++/9/bits/char_traits.h:39, from /usr/include/c++/9/ios:40, from /usr/include/c++/9/istream:38, from /usr/include/c++/9/sstream:38, from /usr/include/c++/9/complex:45, from /usr/include/c++/9/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54, from Main.cc:1: /usr/include/c++/9/bits/stl_iterator.h:1209:5: note: candidate: ‘template decltype ((__x.base() - __y.base())) std::operator-(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorR>&)’ 1209 | operator-(const move_iterator<_IteratorL>& __x, | ^~~~~~~~ /usr/include/c++/9/bits/stl_iterator.h:1209:5: note: template argument deduction/substitution failed: Main.cc:9:14: note: ‘std::string’ {aka ‘std::__cxx11::basic_string’} is not derived from ‘const std::move_iterator<_IteratorL>’ 9 | a=a-"0"+"1"; | ^~~ In file included from /usr/include/c++/9/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54, from Main.cc:1: /usr/include/c++/9/complex:361:5: note: candidate: ‘template std::complex<_Tp> std::operator-(const std::complex<_Tp>&, const std::complex<_Tp>&)’ 361 | operator-(const complex<_Tp>& __x, const complex<_Tp>& __y) | ^~~~~~~~ /usr/include/c++/9/complex:361:5: note: template argument deduction/substitution failed: Main.cc:9:14: note: ‘std::string’ {aka ‘std::__cxx11::basic_string’} is not derived from ‘const std::complex<_Tp>’ 9 | a=a-"0"+"1"; | ^~~ In file included from /usr/include/c++/9/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54, from Main.cc:1: /usr/include/c++/9/complex:370:5: note: candidate: ‘template std::complex<_Tp> std::operator-(const std::complex<_Tp>&, const _Tp&)’ 370 | operator-(const complex<_Tp>& __x, const _Tp& __y) | ^~~~~~~~ /usr/include/c++/9/complex:370:5: note: template argument deduction/substitution failed: Main.cc:9:14: note: ‘std::string’ {aka ‘std::__cxx11::basic_string’} is not derived from ‘const std::complex<_Tp>’ 9 | a=a-"0"+"1"; | ^~~ In file included from /usr/include/c++/9/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54, from Main.cc:1: /usr/include/c++/9/complex:379:5: note: candidate: ‘template std::complex<_Tp> std::operator-(const _Tp&, const std::complex<_Tp>&)’ 379 | operator-(const _Tp& __x, const complex<_Tp>& __y) | ^~~~~~~~ /usr/include/c++/9/complex:379:5: note: template argument deduction/substitution failed: Main.cc:9:14: note: mismatched types ‘const std::complex<_Tp>’ and ‘const char [2]’ 9 | a=a-"0"+"1"; | ^~~ In file included from /usr/include/c++/9/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54, from Main.cc:1: /usr/include/c++/9/complex:456:5: note: candidate: ‘template std::complex<_Tp> std::operator-(const std::complex<_Tp>&)’ 456 | operator-(const complex<_Tp>& __x) | ^~~~~~~~ /usr/include/c++/9/complex:456:5: note: template argument deduction/substitution failed: Main.cc:9:14: note: ‘std::string’ {aka ‘std::__cxx11::basic_string’} is not derived from ‘const std::complex<_Tp>’ 9 | a=a-"0"+"1"; | ^~~ In file included from /usr/include/c++/9/deque:67, from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:68, from Main.cc:1: /usr/include/c++/9/bits/stl_deque.h:370:5: note: candidate: ‘template typename std::_Deque_iterator<_Tp, _Ref, _Ptr>::difference_type std::operator-(const std::_Deque_iterator<_Tp, _Ref, _Ptr>&, const std::_Deque_iterator<_Tp, _Ref, _Ptr>&)’ 370 | operator-(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x, | ^~~~~~~~ /usr/include/c++/9/bits/stl_deque.h:370:5: note: template argument deduction/substitution failed: Main.cc:9:14: note: ‘std::string’ {aka ‘std::__cxx11::basic_string’} is not derived from ‘const std::_Deque_iterator<_Tp, _Ref, _Ptr>’ 9 | a=a-"0"+"1"; | ^~~ In file included from /usr/include/c++/9/deque:67, from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:68, from Main.cc:1: /usr/include/c++/9/bits/stl_deque.h:382:5: note: candidate: ‘template typename std::_Deque_iterator<_Tp, _Ref, _Ptr>::difference_type std::operator-(const std::_Deque_iterator<_Tp, _Ref, _Ptr>&, const std::_Deque_iterator<_Tp, _RefR, _PtrR>&)’ 382 | operator-(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, | ^~~~~~~~ /usr/include/c++/9/bits/stl_deque.h:382:5: note: template argument deduction/substitution failed: Main.cc:9:14: note: ‘std::string’ {aka ‘std::__cxx11::basic_string’} is not derived from ‘const std::_Deque_iterator<_Tp, _Ref, _Ptr>’ 9 | a=a-"0"+"1"; | ^~~ In file included from /usr/include/c++/9/vector:68, from /usr/include/c++/9/queue:61, from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:86, from Main.cc:1: /usr/include/c++/9/bits/stl_bvector.h:214:3: note: candidate: ‘std::ptrdiff_t std::operator-(const std::_Bit_iterator_base&, const std::_Bit_iterator_base&)’ 214 | operator-(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) | ^~~~~~~~ /usr/include/c++/9/bits/stl_bvector.h:214:39: note: no known conversion for argument 1 from ‘std::string’ {aka ‘std::__cxx11::basic_string’} to ‘const std::_Bit_iterator_base&’ 214 | operator-(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from /usr/include/c++/9/valarray:603, from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:95, from Main.cc:1: /usr/include/c++/9/bits/valarray_after.h:406:5: note: candidate: ‘template std::_Expr, typename std::__fun::result_type> std::operator-(const std::_Expr<_Dom1, typename _Dom1::value_type>&, const std::_Expr<_Dom2, typename _Dom2::value_type>&)’ 406 | _DEFINE_EXPR_BINARY_OPERATOR(-, __minus) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/9/bits/valarray_after.h:406:5: note: template argument deduction/substitution failed: Main.cc:9:14: note: ‘std::string’ {aka ‘std::__cxx11::basic_string’} is not derived from ‘const std::_Expr<_Dom1, typename _Dom1::value_type>’ 9 | a=a-"0"+"1"; | ^~~ In file included from /usr/include/c++/9/valarray:603, from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:95, from Main.cc:1: /usr/include/c++/9/bits/valarray_after.h:406:5: note: candidate: ‘template std::_Expr, typename std::__fun::result_type> std::operator-(const std::_Expr<_Dom1, typename _Dom1::value_type>&, const typename _Dom::value_type&)’ 406 | _DEFINE_EXPR_BINARY_OPERATOR(-, __minus) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/9/bits/valarray_after.h:406:5: note: template argument deduction/substitution failed: Main.cc:9:14: note: ‘std::string’ {aka ‘std::__cxx11::basic_string’} is not derived from ‘const std::_Expr<_Dom1, typename _Dom1::value_type>’ 9 | a=a-"0"+"1"; | ^~~ In file included from /usr/include/c++/9/valarray:603, from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:95, from Main.cc:1: /usr/include/c++/9/bits/valarray_after.h:406:5: note: candidate: ‘template std::_Expr, typename std::__fun::result_type> std::operator-(const typename _Dom::value_type&, const std::_Expr<_Dom1, typename _Dom1::value_type>&)’ 406 | _DEFINE_EXPR_BINARY_OPERATOR(-, __minus) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/9/bits/valarray_after.h:406:5: note: template argument deduction/substitution failed: Main.cc:9:14: note: mismatched types ‘const std::_Expr<_Dom1, typename _Dom1::value_type>’ and ‘const char [2]’ 9 | a=a-"0"+"1"; | ^~~ In file included from /usr/include/c++/9/valarray:603, from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:95, from Main.cc:1: /usr/include/c++/9/bits/valarray_after.h:406:5: note: candidate: ‘template std::_Expr, typename std::__fun::result_type> std::operator-(const std::_Expr<_Dom1, typename _Dom1::value_type>&, const std::valarray&)’ 406 | _DEFINE_EXPR_BINARY_OPERATOR(-, __minus) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/9/bits/valarray_after.h:406:5: note: template argument deduction/substitution failed: Main.cc:9:14: note: ‘std::string’ {aka ‘std::__cxx11::basic_string’} is not derived from ‘const std::_Expr<_Dom1, typename _Dom1::value_type>’ 9 | a=a-"0"+"1"; | ^~~ In file included from /usr/include/c++/9/valarray:603, from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:95, from Main.cc:1: /usr/include/c++/9/bits/valarray_after.h:406:5: note: candidate: ‘template std::_Expr, typename std::__fun::result_type> std::operator-(const std::valarray&, const std::_Expr<_Dom1, typename _Dom1::value_type>&)’ 406 | _DEFINE_EXPR_BINARY_OPERATOR(-, __minus) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/9/bits/valarray_after.h:406:5: note: template argument deduction/substitution failed: Main.cc:9:14: note: mismatched types ‘const std::_Expr<_Dom1, typename _Dom1::value_type>’ and ‘const char [2]’ 9 | a=a-"0"+"1"; | ^~~ In file included from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:95, from Main.cc:1: /usr/include/c++/9/valarray:1186:1: note: candidate: ‘template std::_Expr, typename std::__fun::result_type> std::operator-(const std::valarray<_Tp>&, const std::valarray<_Tp>&)’ 1186 | _DEFINE_BINARY_OPERATOR(-, __minus) | ^~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/9/valarray:1186:1: note: template argument deduction/substitution failed: Main.cc:9:14: note: ‘std::string’ {aka ‘std::__cxx11::basic_string’} is not derived from ‘const std::valarray<_Tp>’ 9 | a=a-"0"+"1"; | ^~~ In file included from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:95, from Main.cc:1: /usr/include/c++/9/valarray:1186:1: note: candidate: ‘template std::_Expr, typename std::__fun::result_type> std::operator-(const std::valarray<_Tp>&, const typename std::valarray<_Tp>::value_type&)’ 1186 | _DEFINE_BINARY_OPERATOR(-, __minus) | ^~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/9/valarray:1186:1: note: template argument deduction/substitution failed: Main.cc:9:14: note: ‘std::string’ {aka ‘std::__cxx11::basic_string’} is not derived from ‘const std::valarray<_Tp>’ 9 | a=a-"0"+"1"; | ^~~ In file included from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:95, from Main.cc:1: /usr/include/c++/9/valarray:1186:1: note: candidate: ‘template std::_Expr, typename std::__fun::result_type> std::operator-(const typename std::valarray<_Tp>::value_type&, const std::valarray<_Tp>&)’ 1186 | _DEFINE_BINARY_OPERATOR(-, __minus) | ^~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/9/valarray:1186:1: note: template argument deduction/substitution failed: Main.cc:9:14: note: mismatched types ‘const std::valarray<_Tp>’ and ‘const char [2]’ 9 | a=a-"0"+"1"; | ^~~ In file included from /usr/include/c++/9/bits/stl_algobase.h:67, from /usr/include/c++/9/bits/char_traits.h:39, from /usr/include/c++/9/ios:40, from /usr/include/c++/9/istream:38, from /usr/include/c++/9/sstream:38, from /usr/include/c++/9/complex:45, from /usr/include/c++/9/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54, from Main.cc:1: /usr/include/c++/9/bits/stl_iterator.h:974:5: note: candidate: ‘template decltype ((__lhs.base() - __rhs.base())) __gnu_cxx::operator-(const __gnu_cxx::__normal_iterator<_IteratorL, _Container>&, const __gnu_cxx::__normal_iterator<_IteratorR, _Container>&)’ 974 | operator-(const __normal_iterator<_IteratorL, _Container>& __lhs, | ^~~~~~~~ /usr/include/c++/9/bits/stl_iterator.h:974:5: note: template argument deduction/substitution failed: Main.cc:9:14: note: ‘std::string’ {aka ‘std::__cxx11::basic_string’} is not derived from ‘const __gnu_cxx::__normal_iterator<_IteratorL, _Container>’ 9 | a=a-"0"+"1"; | ^~~ In file included from /usr/include/c++/9/bits/stl_algobase.h:67, from /usr/include/c++/9/bits/char_traits.h:39, from /usr/include/c++/9/ios:40, from /usr/include/c++/9/istream:38, from /usr/include/c++/9/sstream:38, from /usr/include/c++/9/complex:45, from /usr/include/c++/9/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54, from Main.cc:1: /usr/include/c++/9/bits/stl_iterator.h:986:5: note: candidate: ‘template typename __gnu_cxx::__normal_iterator<_Iterator, _Container>::difference_type __gnu_cxx::operator-(const __gnu_cxx::__normal_iterator<_Iterator, _Container>&, const __gnu_cxx::__normal_iterator<_Iterator, _Container>&)’ 986 | operator-(const __normal_iterator<_Iterator, _Container>& __lhs, | ^~~~~~~~ /usr/include/c++/9/bits/stl_iterator.h:986:5: note: template argument deduction/substitution failed: Main.cc:9:14: note: ‘std::string’ {aka ‘std::__cxx11::basic_string’} is not derived from ‘const __gnu_cxx::__normal_iterator<_Iterator, _Container>’ 9 | a=a-"0"+"1"; | ^~~ Main.cc:11:13: error: no match for ‘operator-’ (operand types are ‘std::string’ {aka ‘std::__cxx11::basic_string’} and ‘const char [2]’) 11 | a=a-"1"+"01"; | ~^~~~ | | | | | const char [2] | std::string {aka std::__cxx11::basic_string} In file included from /usr/include/c++/9/bits/stl_algobase.h:67, from /usr/include/c++/9/bits/char_traits.h:39, from /usr/include/c++/9/ios:40, from /usr/include/c++/9/istream:38, from /usr/include/c++/9/sstream:38, from /usr/include/c++/9/complex:45, from /usr/include/c++/9/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54, from Main.cc:1: /usr/include/c++/9/bits/stl_iterator.h:415:5: note: candidate: ‘template decltype ((__y.base() - __x.base())) std::operator-(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_IteratorR>&)’ 415 | operator-(const reverse_iterator<_IteratorL>& __x, | ^~~~~~~~ /usr/include/c++/9/bits/stl_iterator.h:415:5: note: template argument deduction/substitution failed: Main.cc:11:14: note: ‘std::string’ {aka ‘std::__cxx11::basic_string’} is not derived from ‘const std::reverse_iterator<_Iterator>’ 11 | a=a-"1"+"01"; | ^~~ In file included from /usr/include/c++/9/bits/stl_algobase.h:67, from /usr/include/c++/9/bits/char_traits.h:39, from /usr/include/c++/9/ios:40, from /usr/include/c++/9/istream:38, from /usr/include/c++/9/sstream:38, from /usr/include/c++/9/complex:45, from /usr/include/c++/9/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54, from Main.cc:1: /usr/include/c++/9/bits/stl_iterator.h:1209:5: note: candidate: ‘template decltype ((__x.base() - __y.base())) std::operator-(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorR>&)’ 1209 | operator-(const move_iterator<_IteratorL>& __x, | ^~~~~~~~ /usr/include/c++/9/bits/stl_iterator.h:1209:5: note: template argument deduction/substitution failed: Main.cc:11:14: note: ‘std::string’ {aka ‘std::__cxx11::basic_string’} is not derived from ‘const std::move_iterator<_IteratorL>’ 11 | a=a-"1"+"01"; | ^~~ In file included from /usr/include/c++/9/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54, from Main.cc:1: /usr/include/c++/9/complex:361:5: note: candidate: ‘template std::complex<_Tp> std::operator-(const std::complex<_Tp>&, const std::complex<_Tp>&)’ 361 | operator-(const complex<_Tp>& __x, const complex<_Tp>& __y) | ^~~~~~~~ /usr/include/c++/9/complex:361:5: note: template argument deduction/substitution failed: Main.cc:11:14: note: ‘std::string’ {aka ‘std::__cxx11::basic_string’} is not derived from ‘const std::complex<_Tp>’ 11 | a=a-"1"+"01"; | ^~~ In file included from /usr/include/c++/9/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54, from Main.cc:1: /usr/include/c++/9/complex:370:5: note: candidate: ‘template std::complex<_Tp> std::operator-(const std::complex<_Tp>&, const _Tp&)’ 370 | operator-(const complex<_Tp>& __x, const _Tp& __y) | ^~~~~~~~ /usr/include/c++/9/complex:370:5: note: template argument deduction/substitution failed: Main.cc:11:14: note: ‘std::string’ {aka ‘std::__cxx11::basic_string’} is not derived from ‘const std::complex<_Tp>’ 11 | a=a-"1"+"01"; | ^~~ In file included from /usr/include/c++/9/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54, from Main.cc:1: /usr/include/c++/9/complex:379:5: note: candidate: ‘template std::complex<_Tp> std::operator-(const _Tp&, const std::complex<_Tp>&)’ 379 | operator-(const _Tp& __x, const complex<_Tp>& __y) | ^~~~~~~~ /usr/include/c++/9/complex:379:5: note: template argument deduction/substitution failed: Main.cc:11:14: note: mismatched types ‘const std::complex<_Tp>’ and ‘const char [2]’ 11 | a=a-"1"+"01"; | ^~~ In file included from /usr/include/c++/9/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54, from Main.cc:1: /usr/include/c++/9/complex:456:5: note: candidate: ‘template std::complex<_Tp> std::operator-(const std::complex<_Tp>&)’ 456 | operator-(const complex<_Tp>& __x) | ^~~~~~~~ /usr/include/c++/9/complex:456:5: note: template argument deduction/substitution failed: Main.cc:11:14: note: ‘std::string’ {aka ‘std::__cxx11::basic_string’} is not derived from ‘const std::complex<_Tp>’ 11 | a=a-"1"+"01"; | ^~~ In file included from /usr/include/c++/9/deque:67, from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:68, from Main.cc:1: /usr/include/c++/9/bits/stl_deque.h:370:5: note: candidate: ‘template typename std::_Deque_iterator<_Tp, _Ref, _Ptr>::difference_type std::operator-(const std::_Deque_iterator<_Tp, _Ref, _Ptr>&, const std::_Deque_iterator<_Tp, _Ref, _Ptr>&)’ 370 | operator-(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x, | ^~~~~~~~ /usr/include/c++/9/bits/stl_deque.h:370:5: note: template argument deduction/substitution failed: Main.cc:11:14: note: ‘std::string’ {aka ‘std::__cxx11::basic_string’} is not derived from ‘const std::_Deque_iterator<_Tp, _Ref, _Ptr>’ 11 | a=a-"1"+"01"; | ^~~ In file included from /usr/include/c++/9/deque:67, from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:68, from Main.cc:1: /usr/include/c++/9/bits/stl_deque.h:382:5: note: candidate: ‘template typename std::_Deque_iterator<_Tp, _Ref, _Ptr>::difference_type std::operator-(const std::_Deque_iterator<_Tp, _Ref, _Ptr>&, const std::_Deque_iterator<_Tp, _RefR, _PtrR>&)’ 382 | operator-(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, | ^~~~~~~~ /usr/include/c++/9/bits/stl_deque.h:382:5: note: template argument deduction/substitution failed: Main.cc:11:14: note: ‘std::string’ {aka ‘std::__cxx11::basic_string’} is not derived from ‘const std::_Deque_iterator<_Tp, _Ref, _Ptr>’ 11 | a=a-"1"+"01"; | ^~~ In file included from /usr/include/c++/9/vector:68, from /usr/include/c++/9/queue:61, from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:86, from Main.cc:1: /usr/include/c++/9/bits/stl_bvector.h:214:3: note: candidate: ‘std::ptrdiff_t std::operator-(const std::_Bit_iterator_base&, const std::_Bit_iterator_base&)’ 214 | operator-(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) | ^~~~~~~~ /usr/include/c++/9/bits/stl_bvector.h:214:39: note: no known conversion for argument 1 from ‘std::string’ {aka ‘std::__cxx11::basic_string’} to ‘const std::_Bit_iterator_base&’ 214 | operator-(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from /usr/include/c++/9/valarray:603, from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:95, from Main.cc:1: /usr/include/c++/9/bits/valarray_after.h:406:5: note: candidate: ‘template std::_Expr, typename std::__fun::result_type> std::operator-(const std::_Expr<_Dom1, typename _Dom1::value_type>&, const std::_Expr<_Dom2, typename _Dom2::value_type>&)’ 406 | _DEFINE_EXPR_BINARY_OPERATOR(-, __minus) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/9/bits/valarray_after.h:406:5: note: template argument deduction/substitution failed: Main.cc:11:14: note: ‘std::string’ {aka ‘std::__cxx11::basic_string’} is not derived from ‘const std::_Expr<_Dom1, typename _Dom1::value_type>’ 11 | a=a-"1"+"01"; | ^~~ In file included from /usr/include/c++/9/valarray:603, from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:95, from Main.cc:1: /usr/include/c++/9/bits/valarray_after.h:406:5: note: candidate: ‘template std::_Expr, typename std::__fun::result_type> std::operator-(const std::_Expr<_Dom1, typename _Dom1::value_type>&, const typename _Dom::value_type&)’ 406 | _DEFINE_EXPR_BINARY_OPERATOR(-, __minus) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/9/bits/valarray_after.h:406:5: note: template argument deduction/substitution failed: Main.cc:11:14: note: ‘std::string’ {aka ‘std::__cxx11::basic_string’} is not derived from ‘const std::_Expr<_Dom1, typename _Dom1::value_type>’ 11 | a=a-"1"+"01"; | ^~~ In file included from /usr/include/c++/9/valarray:603, from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:95, from Main.cc:1: /usr/include/c++/9/bits/valarray_after.h:406:5: note: candidate: ‘template std::_Expr, typename std::__fun::result_type> std::operator-(const typename _Dom::value_type&, const std::_Expr<_Dom1, typename _Dom1::value_type>&)’ 406 | _DEFINE_EXPR_BINARY_OPERATOR(-, __minus) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/9/bits/valarray_after.h:406:5: note: template argument deduction/substitution failed: Main.cc:11:14: note: mismatched types ‘const std::_Expr<_Dom1, typename _Dom1::value_type>’ and ‘const char [2]’ 11 | a=a-"1"+"01"; | ^~~ In file included from /usr/include/c++/9/valarray:603, from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:95, from Main.cc:1: /usr/include/c++/9/bits/valarray_after.h:406:5: note: candidate: ‘template std::_Expr, typename std::__fun::result_type> std::operator-(const std::_Expr<_Dom1, typename _Dom1::value_type>&, const std::valarray&)’ 406 | _DEFINE_EXPR_BINARY_OPERATOR(-, __minus) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/9/bits/valarray_after.h:406:5: note: template argument deduction/substitution failed: Main.cc:11:14: note: ‘std::string’ {aka ‘std::__cxx11::basic_string’} is not derived from ‘const std::_Expr<_Dom1, typename _Dom1::value_type>’ 11 | a=a-"1"+"01"; | ^~~ In file included from /usr/include/c++/9/valarray:603, from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:95, from Main.cc:1: /usr/include/c++/9/bits/valarray_after.h:406:5: note: candidate: ‘template std::_Expr, typename std::__fun::result_type> std::operator-(const std::valarray&, const std::_Expr<_Dom1, typename _Dom1::value_type>&)’ 406 | _DEFINE_EXPR_BINARY_OPERATOR(-, __minus) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/9/bits/valarray_after.h:406:5: note: template argument deduction/substitution failed: Main.cc:11:14: note: mismatched types ‘const std::_Expr<_Dom1, typename _Dom1::value_type>’ and ‘const char [2]’ 11 | a=a-"1"+"01"; | ^~~ In file included from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:95,