std::ios_base::ios_base(const std::ios_base&)' is private 错误

本文解决了ostream操作符重载时出现的std::ios_base::ios_base(const std::ios_base&)错误。文中提供了正确的代码实现方式,即使用引用传递而非值传递。

代码如下:

inline ostream operator<<(ostream& os, const istring s)
{
    return os<<string(s.c_str(), s.length());
}

 

编译它出现:std::ios_base::ios_base(const std::ios_base&)' is private 错误。

这是因为流作为参数传递时必须通过引用传递,所以正确的代码是

 

inline ostream& operator<<(ostream& os, const istring s)
{
    return os<<string(s.c_str(), s.length());
}

Undefined symbols for architecture arm64: "std::__1::locale::use_facet(std::__1::locale::id&) const", referenced from: std::__1::ctype<char> const& std::__1::use_facet[abi:ne180100]<std::__1::ctype<char>>(std::__1::locale const&) in CPP-ff0177.o "std::__1::ios_base::getloc() const", referenced from: std::__1::basic_ios<char, std::__1::char_traits<char>>::widen[abi:ne180100](char) const in CPP-ff0177.o "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::__init(unsigned long, char)", referenced from: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::basic_string[abi:ne180100](unsigned long, char) in CPP-ff0177.o "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::~basic_string()", referenced from: std::__1::ostreambuf_iterator<char, std::__1::char_traits<char>> std::__1::__pad_and_output[abi:ne180100]<char, std::__1::char_traits<char>>(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char>>, char const*, char const*, char const*, std::__1::ios_base&amp;, char) in CPP-ff0177.o std::__1::ostreambuf_iterator<char, std::__1::char_traits<char>> std::__1::__pad_and_output[abi:ne180100]<char, std::__1::char_traits<char>>(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char>>, char const*, char const*, char const*, std::__1::ios_base&amp;, char) in CPP-ff0177.o "std::__1::basic_istream<char, std::__1::char_traits<char>>::operator>>(int&)", referenced from: _main in CPP-ff0177.o _main in CPP-ff0177.o _main in CPP-ff0177.o _main in CPP-ff0177.o "std::__1::basic_ostream<char, std::__1::char_traits<char>>::put(char)", referenced from: std::__1::basic_ostream<char, std::__1::char_traits<char>>& std::__1::endl[abi:ne180100]<char, std::__1::char_traits<char>>(std::__1::basic_ostream<char, std::__1::char_traits<char>>&) in CPP-ff0177.o "std::__1::basic_ostream<char, std::__1::char_traits<char>>::flush()", referenced from: std::__1::basic_ostream<char, std::__1::char_traits<char>>& std::__1::endl[abi:ne180100]<char, std::__1::char_traits<char>>(std::__1::basic_ostream<char, std::__1::char_traits<char>>&) in CPP-ff0177.o "std::__1::basic_ostream<char, std::__1::char_traits<char>>::sentry::sentry(std::__1::basic_ostream<char, std::__1::char_traits<char>>&)", referenced from: std::__1::basic_ostream<char, std::__1::char_traits<char>>& std::__1::__put_character_sequence[abi:ne180100]<char, std::__1::char_traits<char>>(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, char const*, unsigned long) in CPP-ff0177.o "std::__1::basic_ostream<char, std::__1::char_traits<char>>::sentry::~sentry()", referenced from: std::__1::basic_ostream<char, std::__1::char_traits<char>>& std::__1::__put_character_sequence[abi:ne180100]<char, std::__1::char_traits<char>>(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, char const*, unsigned long) in CPP-ff0177.o std::__1::basic_ostream<char, std::__1::char_traits<char>>& std::__1::__put_character_sequence[abi:ne180100]<char, std::__1::char_traits<char>>(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, char const*, unsigned long) in CPP-ff0177.o "std::__1::basic_ostream<char, std::__1::char_traits<char>>::operator<<(double)", referenced from: _main in CPP-ff0177.o "std::__1::basic_ostream<char, std::__1::char_traits<char>>::operator<<(int)", referenced from: _main in CPP-ff0177.o "std::__1::cin", referenced from: _main in CPP-ff0177.o "std::__1::cout", referenced from: _main in CPP-ff0177.o "std::__1::ctype<char>::id", referenced from: std::__1::ctype<char> const& std::__1::use_facet[abi:ne180100]<std::__1::ctype<char>>(std::__1::locale const&) in CPP-ff0177.o "std::__1::locale::~locale()", referenced from: std::__1::basic_ios<char, std::__1::char_traits<char>>::widen[abi:ne180100](char) const in CPP-ff0177.o std::__1::basic_ios<char, std::__1::char_traits<char>>::widen[abi:ne180100](char) const in CPP-ff0177.o "std::__1::ios_base::__set_badbit_and_consider_rethrow()", referenced from: std::__1::basic_ostream<char, std::__1::char_traits<char>>& std::__1::__put_character_sequence[abi:ne180100]<char, std::__1::char_traits<char>>(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, char const*, unsigned long) in CPP-ff0177.o "std::__1::ios_base::clear(unsigned int)", referenced from: std::__1::ios_base::setstate[abi:ne180100](unsigned int) in CPP-ff0177.o "std::terminate()", referenced from: ___clang_call_terminate in CPP-ff0177.o "___cxa_begin_catch", referenced from: std::__1::basic_ostream<char, std::__1::char_traits<char>>& std::__1::__put_character_sequence[abi:ne180100]<char, std::__1::char_traits<char>>(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, char const*, unsigned long) in CPP-ff0177.o ___clang_call_terminate in CPP-ff0177.o "___cxa_call_unexpected", referenced from: std::__1::char_traits<char>::length[abi:ne180100](char const*) in CPP-ff0177.o std::__1::ostreambuf_iterator<char, std::__1::char_traits<char>>::ostreambuf_iterator[abi:ne180100](std::__1::basic_ostream<char, std::__1::char_traits<char>>&) in CPP-ff0177.o "___cxa_end_catch", referenced from: std::__1::basic_ostream<char, std::__1::char_traits<char>>& std::__1::__put_character_sequence[abi:ne180100]<char, std::__1::char_traits<char>>(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, char const*, unsigned long) in CPP-ff0177.o std::__1::basic_ostream<char, std::__1::char_traits<char>>& std::__1::__put_character_sequence[abi:ne180100]<char, std::__1::char_traits<char>>(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, char const*, unsigned long) in CPP-ff0177.o "___gxx_personality_v0", referenced from: /private/var/folders/nt/_wsd9hj903q7pgvy73frnx4c0000gn/T/CPP-ff0177.o ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation) v_fengte@MacBook-Pro ddd %
07-01
/tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c: In function 'int main()': /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:19:13: error: no match for 'operator>>' (operand types are 'std::ostream' {aka 'std::basic_ostream<char>'} and 'int') 19 | cout>>a[i]; | ~~~~^~~~~~ | | | | | int | std::ostream {aka std::basic_ostream<char>} /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:19:13: note: candidate: 'operator>>(int, int)' <built-in> 19 | cout>>a[i]; | ~~~~^~~~~~ /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:19:13: note: no known conversion for argument 1 from 'std::ostream' {aka 'std::basic_ostream<char>'} to 'int' In file included from /usr/include/c++/9/string:56, from /usr/include/c++/9/bits/locale_classes.h:40, from /usr/include/c++/9/bits/ios_base.h:41, from /usr/include/c++/9/ios:42, from /usr/include/c++/9/ostream:38, from /usr/include/c++/9/iostream:39, from /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:1: /usr/include/c++/9/bits/basic_string.tcc:1466:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&)' 1466 | operator>>(basic_istream<_CharT, _Traits>& __in, | ^~~~~~~~ /usr/include/c++/9/bits/basic_string.tcc:1466:5: note: template argument deduction/substitution failed: /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:19:18: note: 'std::ostream' {aka 'std::basic_ostream<char>'} is not derived from 'std::basic_istream<_CharT, _Traits>' 19 | cout>>a[i]; | ^ In file included from /usr/include/c++/9/istream:991, from /usr/include/c++/9/iostream:40, from /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:1: /usr/include/c++/9/bits/istream.tcc:931:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, _CharT&)' 931 | operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c) | ^~~~~~~~ /usr/include/c++/9/bits/istream.tcc:931:5: note: template argument deduction/substitution failed: /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:19:18: note: 'std::ostream' {aka 'std::basic_ostream<char>'} is not derived from 'std::basic_istream<_CharT, _Traits>' 19 | cout>>a[i]; | ^ In file included from /usr/include/c++/9/iostream:40, from /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:1: /usr/include/c++/9/istream:756:5: note: candidate: 'template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, unsigned char&)' 756 | operator>>(basic_istream<char, _Traits>& __in, unsigned char& __c) | ^~~~~~~~ /usr/include/c++/9/istream:756:5: note: template argument deduction/substitution failed: /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:19:18: note: 'std::ostream' {aka 'std::basic_ostream<char>'} is not derived from 'std::basic_istream<char, _Traits>' 19 | cout>>a[i]; | ^ In file included from /usr/include/c++/9/iostream:40, from /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:1: /usr/include/c++/9/istream:761:5: note: candidate: 'template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, signed char&)' 761 | operator>>(basic_istream<char, _Traits>& __in, signed char& __c) | ^~~~~~~~ /usr/include/c++/9/istream:761:5: note: template argument deduction/substitution failed: /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:19:18: note: 'std::ostream' {aka 'std::basic_ostream<char>'} is not derived from 'std::basic_istream<char, _Traits>' 19 | cout>>a[i]; | ^ In file included from /usr/include/c++/9/istream:991, from /usr/include/c++/9/iostream:40, from /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:1: /usr/include/c++/9/bits/istream.tcc:963:5: note: candidate: 'template<class _CharT2, class _Traits2> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, _CharT2*)' 963 | operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s) | ^~~~~~~~ /usr/include/c++/9/bits/istream.tcc:963:5: note: template argument deduction/substitution failed: /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:19:18: note: 'std::ostream' {aka 'std::basic_ostream<char>'} is not derived from 'std::basic_istream<_CharT, _Traits>' 19 | cout>>a[i]; | ^ In file included from /usr/include/c++/9/iostream:40, from /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:1: /usr/include/c++/9/istream:803:5: note: candidate: 'template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, unsigned char*)' 803 | operator>>(basic_istream<char, _Traits>& __in, unsigned char* __s) | ^~~~~~~~ /usr/include/c++/9/istream:803:5: note: template argument deduction/substitution failed: /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:19:18: note: 'std::ostream' {aka 'std::basic_ostream<char>'} is not derived from 'std::basic_istream<char, _Traits>' 19 | cout>>a[i]; | ^ In file included from /usr/include/c++/9/iostream:40, from /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:1: /usr/include/c++/9/istream:808:5: note: candidate: 'template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, signed char*)' 808 | operator>>(basic_istream<char, _Traits>& __in, signed char* __s) | ^~~~~~~~ /usr/include/c++/9/istream:808:5: note: template argument deduction/substitution failed: /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:19:18: note: 'std::ostream' {aka 'std::basic_ostream<char>'} is not derived from 'std::basic_istream<char, _Traits>' 19 | cout>>a[i]; | ^ In file included from /usr/include/c++/9/iostream:40, from /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:1: /usr/include/c++/9/istream:980:5: note: candidate: 'template<class _Istream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_istream<_Istream>, std::__is_extractable<typename std::__is_convertible_to_basic_istream<_Tp>::__istream_type, _Tp&&, void> >::value, typename std::__is_convertible_to_basic_istream<_Tp>::__istream_type>::type std::operator>>(_Istream&&, _Tp&&)' 980 | operator>>(_Istream&& __is, _Tp&& __x) | ^~~~~~~~ /usr/include/c++/9/istream:980:5: note: template argument deduction/substitution failed: /usr/include/c++/9/istream: In substitution of 'template<class _Istream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_istream<_Istream>, std::__is_extractable<typename std::__is_convertible_to_basic_istream<_Tp>::__istream_type, _Tp&&, void> >::value, typename std::__is_convertible_to_basic_istream<_Tp>::__istream_type>::type std::operator>>(_Istream&&, _Tp&&) [with _Istream = std::basic_ostream<char>&; _Tp = int&]': /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:19:18: required from here /usr/include/c++/9/istream:980:5: error: no type named 'type' in 'struct std::enable_if<false, void>' /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:23:13: error: no match for 'operator>>' (operand types are 'std::ostream' {aka 'std::basic_ostream<char>'} and 'int') 23 | cout>>b[i]; | ~~~~^~~~~~ | | | | | int | std::ostream {aka std::basic_ostream<char>} /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:23:13: note: candidate: 'operator>>(int, int)' <built-in> 23 | cout>>b[i]; | ~~~~^~~~~~ /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:23:13: note: no known conversion for argument 1 from 'std::ostream' {aka 'std::basic_ostream<char>'} to 'int' In file included from /usr/include/c++/9/string:56, from /usr/include/c++/9/bits/locale_classes.h:40, from /usr/include/c++/9/bits/ios_base.h:41, from /usr/include/c++/9/ios:42, from /usr/include/c++/9/ostream:38, from /usr/include/c++/9/iostream:39, from /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:1: /usr/include/c++/9/bits/basic_string.tcc:1466:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&)' 1466 | operator>>(basic_istream<_CharT, _Traits>& __in, | ^~~~~~~~ /usr/include/c++/9/bits/basic_string.tcc:1466:5: note: template argument deduction/substitution failed: /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:23:18: note: 'std::ostream' {aka 'std::basic_ostream<char>'} is not derived from 'std::basic_istream<_CharT, _Traits>' 23 | cout>>b[i]; | ^ In file included from /usr/include/c++/9/istream:991, from /usr/include/c++/9/iostream:40, from /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:1: /usr/include/c++/9/bits/istream.tcc:931:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, _CharT&)' 931 | operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c) | ^~~~~~~~ /usr/include/c++/9/bits/istream.tcc:931:5: note: template argument deduction/substitution failed: /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:23:18: note: 'std::ostream' {aka 'std::basic_ostream<char>'} is not derived from 'std::basic_istream<_CharT, _Traits>' 23 | cout>>b[i]; | ^ In file included from /usr/include/c++/9/iostream:40, from /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:1: /usr/include/c++/9/istream:756:5: note: candidate: 'template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, unsigned char&)' 756 | operator>>(basic_istream<char, _Traits>& __in, unsigned char& __c) | ^~~~~~~~ /usr/include/c++/9/istream:756:5: note: template argument deduction/substitution failed: /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:23:18: note: 'std::ostream' {aka 'std::basic_ostream<char>'} is not derived from 'std::basic_istream<char, _Traits>' 23 | cout>>b[i]; | ^ In file included from /usr/include/c++/9/iostream:40, from /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:1: /usr/include/c++/9/istream:761:5: note: candidate: 'template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, signed char&)' 761 | operator>>(basic_istream<char, _Traits>& __in, signed char& __c) | ^~~~~~~~ /usr/include/c++/9/istream:761:5: note: template argument deduction/substitution failed: /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:23:18: note: 'std::ostream' {aka 'std::basic_ostream<char>'} is not derived from 'std::basic_istream<char, _Traits>' 23 | cout>>b[i]; | ^ In file included from /usr/include/c++/9/istream:991, from /usr/include/c++/9/iostream:40, from /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:1: /usr/include/c++/9/bits/istream.tcc:963:5: note: candidate: 'template<class _CharT2, class _Traits2> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, _CharT2*)' 963 | operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s) | ^~~~~~~~ /usr/include/c++/9/bits/istream.tcc:963:5: note: template argument deduction/substitution failed: /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:23:18: note: 'std::ostream' {aka 'std::basic_ostream<char>'} is not derived from 'std::basic_istream<_CharT, _Traits>' 23 | cout>>b[i]; | ^ In file included from /usr/include/c++/9/iostream:40, from /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:1: /usr/include/c++/9/istream:803:5: note: candidate: 'template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, unsigned char*)' 803 | operator>>(basic_istream<char, _Traits>& __in, unsigned char* __s) | ^~~~~~~~ /usr/include/c++/9/istream:803:5: note: template argument deduction/substitution failed: /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:23:18: note: 'std::ostream' {aka 'std::basic_ostream<char>'} is not derived from 'std::basic_istream<char, _Traits>' 23 | cout>>b[i]; | ^ In file included from /usr/include/c++/9/iostream:40, from /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:1: /usr/include/c++/9/istream:808:5: note: candidate: 'template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, signed char*)' 808 | operator>>(basic_istream<char, _Traits>& __in, signed char* __s) | ^~~~~~~~ /usr/include/c++/9/istream:808:5: note: template argument deduction/substitution failed: /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:23:18: note: 'std::ostream' {aka 'std::basic_ostream<char>'} is not derived from 'std::basic_istream<char, _Traits>' 23 | cout>>b[i]; | ^ In file included from /usr/include/c++/9/iostream:40, from /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:1: /usr/include/c++/9/istream:980:5: note: candidate: 'template<class _Istream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_istream<_Istream>, std::__is_extractable<typename std::__is_convertible_to_basic_istream<_Tp>::__istream_type, _Tp&&, void> >::value, typename std::__is_convertible_to_basic_istream<_Tp>::__istream_type>::type std::operator>>(_Istream&&, _Tp&&)' 980 | operator>>(_Istream&& __is, _Tp&& __x) | ^~~~~~~~ /usr/include/c++/9/istream:980:5: note: template argument deduction/substitution failed: /usr/include/c++/9/istream: In substitution of 'template<class _Istream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_istream<_Istream>, std::__is_extractable<typename std::__is_convertible_to_basic_istream<_Tp>::__istream_type, _Tp&&, void> >::value, typename std::__is_convertible_to_basic_istream<_Tp>::__istream_type>::type std::operator>>(_Istream&&, _Tp&&) [with _Istream = std::basic_ostream<char>&; _Tp = int&]': /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:23:18: required from here /usr/include/c++/9/istream:980:5: error: no type named 'type' in 'struct std::enable_if<false, void>'
07-27
#include <iostream> #include <cstring> using namespace std; int main() { string n; cin>>n; int a[n.length()/2],b[n.length()/2]; for(int i=1;i<=(n.length()+1)/2-1;i++) { a[i]=n[i-1]; } for(int i=(n.length()+1)/2;i<=n.length();i++) { b[i]=n[i-1]; } for(int i=1;i<=sizeof(a);i++) { cout>>a[i]; } for(int i=1;i<=sizeof(b);i++) { cout>>b[i]; } return 0; }的问题与其报错:/tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c: In function 'int main()': /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:19:13: error: no match for 'operator>>' (operand types are 'std::ostream' {aka 'std::basic_ostream<char>'} and 'int') 19 | cout>>a[i]; | ~~~~^~~~~~ | | | | | int | std::ostream {aka std::basic_ostream<char>} /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:19:13: note: candidate: 'operator>>(int, int)' <built-in> 19 | cout>>a[i]; | ~~~~^~~~~~ /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:19:13: note: no known conversion for argument 1 from 'std::ostream' {aka 'std::basic_ostream<char>'} to 'int' In file included from /usr/include/c++/9/string:56, from /usr/include/c++/9/bits/locale_classes.h:40, from /usr/include/c++/9/bits/ios_base.h:41, from /usr/include/c++/9/ios:42, from /usr/include/c++/9/ostream:38, from /usr/include/c++/9/iostream:39, from /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:1: /usr/include/c++/9/bits/basic_string.tcc:1466:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&)' 1466 | operator>>(basic_istream<_CharT, _Traits>& __in, | ^~~~~~~~ /usr/include/c++/9/bits/basic_string.tcc:1466:5: note: template argument deduction/substitution failed: /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:19:18: note: 'std::ostream' {aka 'std::basic_ostream<char>'} is not derived from 'std::basic_istream<_CharT, _Traits>' 19 | cout>>a[i]; | ^ In file included from /usr/include/c++/9/istream:991, from /usr/include/c++/9/iostream:40, from /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:1: /usr/include/c++/9/bits/istream.tcc:931:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, _CharT&)' 931 | operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c) | ^~~~~~~~ /usr/include/c++/9/bits/istream.tcc:931:5: note: template argument deduction/substitution failed: /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:19:18: note: 'std::ostream' {aka 'std::basic_ostream<char>'} is not derived from 'std::basic_istream<_CharT, _Traits>' 19 | cout>>a[i]; | ^ In file included from /usr/include/c++/9/iostream:40, from /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:1: /usr/include/c++/9/istream:756:5: note: candidate: 'template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, unsigned char&)' 756 | operator>>(basic_istream<char, _Traits>& __in, unsigned char& __c) | ^~~~~~~~ /usr/include/c++/9/istream:756:5: note: template argument deduction/substitution failed: /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:19:18: note: 'std::ostream' {aka 'std::basic_ostream<char>'} is not derived from 'std::basic_istream<char, _Traits>' 19 | cout>>a[i]; | ^ In file included from /usr/include/c++/9/iostream:40, from /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:1: /usr/include/c++/9/istream:761:5: note: candidate: 'template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, signed char&)' 761 | operator>>(basic_istream<char, _Traits>& __in, signed char& __c) | ^~~~~~~~ /usr/include/c++/9/istream:761:5: note: template argument deduction/substitution failed: /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:19:18: note: 'std::ostream' {aka 'std::basic_ostream<char>'} is not derived from 'std::basic_istream<char, _Traits>' 19 | cout>>a[i]; | ^ In file included from /usr/include/c++/9/istream:991, from /usr/include/c++/9/iostream:40, from /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:1: /usr/include/c++/9/bits/istream.tcc:963:5: note: candidate: 'template<class _CharT2, class _Traits2> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, _CharT2*)' 963 | operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s) | ^~~~~~~~ /usr/include/c++/9/bits/istream.tcc:963:5: note: template argument deduction/substitution failed: /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:19:18: note: 'std::ostream' {aka 'std::basic_ostream<char>'} is not derived from 'std::basic_istream<_CharT, _Traits>' 19 | cout>>a[i]; | ^ In file included from /usr/include/c++/9/iostream:40, from /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:1: /usr/include/c++/9/istream:803:5: note: candidate: 'template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, unsigned char*)' 803 | operator>>(basic_istream<char, _Traits>& __in, unsigned char* __s) | ^~~~~~~~ /usr/include/c++/9/istream:803:5: note: template argument deduction/substitution failed: /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:19:18: note: 'std::ostream' {aka 'std::basic_ostream<char>'} is not derived from 'std::basic_istream<char, _Traits>' 19 | cout>>a[i]; | ^ In file included from /usr/include/c++/9/iostream:40, from /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:1: /usr/include/c++/9/istream:808:5: note: candidate: 'template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, signed char*)' 808 | operator>>(basic_istream<char, _Traits>& __in, signed char* __s) | ^~~~~~~~ /usr/include/c++/9/istream:808:5: note: template argument deduction/substitution failed: /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:19:18: note: 'std::ostream' {aka 'std::basic_ostream<char>'} is not derived from 'std::basic_istream<char, _Traits>' 19 | cout>>a[i]; | ^ In file included from /usr/include/c++/9/iostream:40, from /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:1: /usr/include/c++/9/istream:980:5: note: candidate: 'template<class _Istream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_istream<_Istream>, std::__is_extractable<typename std::__is_convertible_to_basic_istream<_Tp>::__istream_type, _Tp&&, void> >::value, typename std::__is_convertible_to_basic_istream<_Tp>::__istream_type>::type std::operator>>(_Istream&&, _Tp&&)' 980 | operator>>(_Istream&& __is, _Tp&& __x) | ^~~~~~~~ /usr/include/c++/9/istream:980:5: note: template argument deduction/substitution failed: /usr/include/c++/9/istream: In substitution of 'template<class _Istream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_istream<_Istream>, std::__is_extractable<typename std::__is_convertible_to_basic_istream<_Tp>::__istream_type, _Tp&&, void> >::value, typename std::__is_convertible_to_basic_istream<_Tp>::__istream_type>::type std::operator>>(_Istream&&, _Tp&&) [with _Istream = std::basic_ostream<char>&; _Tp = int&]': /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:19:18: required from here /usr/include/c++/9/istream:980:5: error: no type named 'type' in 'struct std::enable_if<false, void>' /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:23:13: error: no match for 'operator>>' (operand types are 'std::ostream' {aka 'std::basic_ostream<char>'} and 'int') 23 | cout>>b[i]; | ~~~~^~~~~~ | | | | | int | std::ostream {aka std::basic_ostream<char>} /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:23:13: note: candidate: 'operator>>(int, int)' <built-in> 23 | cout>>b[i]; | ~~~~^~~~~~ /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:23:13: note: no known conversion for argument 1 from 'std::ostream' {aka 'std::basic_ostream<char>'} to 'int' In file included from /usr/include/c++/9/string:56, from /usr/include/c++/9/bits/locale_classes.h:40, from /usr/include/c++/9/bits/ios_base.h:41, from /usr/include/c++/9/ios:42, from /usr/include/c++/9/ostream:38, from /usr/include/c++/9/iostream:39, from /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:1: /usr/include/c++/9/bits/basic_string.tcc:1466:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&)' 1466 | operator>>(basic_istream<_CharT, _Traits>& __in, | ^~~~~~~~ /usr/include/c++/9/bits/basic_string.tcc:1466:5: note: template argument deduction/substitution failed: /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:23:18: note: 'std::ostream' {aka 'std::basic_ostream<char>'} is not derived from 'std::basic_istream<_CharT, _Traits>' 23 | cout>>b[i]; | ^ In file included from /usr/include/c++/9/istream:991, from /usr/include/c++/9/iostream:40, from /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:1: /usr/include/c++/9/bits/istream.tcc:931:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, _CharT&)' 931 | operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c) | ^~~~~~~~ /usr/include/c++/9/bits/istream.tcc:931:5: note: template argument deduction/substitution failed: /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:23:18: note: 'std::ostream' {aka 'std::basic_ostream<char>'} is not derived from 'std::basic_istream<_CharT, _Traits>' 23 | cout>>b[i]; | ^ In file included from /usr/include/c++/9/iostream:40, from /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:1: /usr/include/c++/9/istream:756:5: note: candidate: 'template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, unsigned char&)' 756 | operator>>(basic_istream<char, _Traits>& __in, unsigned char& __c) | ^~~~~~~~ /usr/include/c++/9/istream:756:5: note: template argument deduction/substitution failed: /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:23:18: note: 'std::ostream' {aka 'std::basic_ostream<char>'} is not derived from 'std::basic_istream<char, _Traits>' 23 | cout>>b[i]; | ^ In file included from /usr/include/c++/9/iostream:40, from /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:1: /usr/include/c++/9/istream:761:5: note: candidate: 'template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, signed char&)' 761 | operator>>(basic_istream<char, _Traits>& __in, signed char& __c) | ^~~~~~~~ /usr/include/c++/9/istream:761:5: note: template argument deduction/substitution failed: /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:23:18: note: 'std::ostream' {aka 'std::basic_ostream<char>'} is not derived from 'std::basic_istream<char, _Traits>' 23 | cout>>b[i]; | ^ In file included from /usr/include/c++/9/istream:991, from /usr/include/c++/9/iostream:40, from /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:1: /usr/include/c++/9/bits/istream.tcc:963:5: note: candidate: 'template<class _CharT2, class _Traits2> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, _CharT2*)' 963 | operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s) | ^~~~~~~~ /usr/include/c++/9/bits/istream.tcc:963:5: note: template argument deduction/substitution failed: /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:23:18: note: 'std::ostream' {aka 'std::basic_ostream<char>'} is not derived from 'std::basic_istream<_CharT, _Traits>' 23 | cout>>b[i]; | ^ In file included from /usr/include/c++/9/iostream:40, from /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:1: /usr/include/c++/9/istream:803:5: note: candidate: 'template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, unsigned char*)' 803 | operator>>(basic_istream<char, _Traits>& __in, unsigned char* __s) | ^~~~~~~~ /usr/include/c++/9/istream:803:5: note: template argument deduction/substitution failed: /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:23:18: note: 'std::ostream' {aka 'std::basic_ostream<char>'} is not derived from 'std::basic_istream<char, _Traits>' 23 | cout>>b[i]; | ^ In file included from /usr/include/c++/9/iostream:40, from /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:1: /usr/include/c++/9/istream:808:5: note: candidate: 'template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, signed char*)' 808 | operator>>(basic_istream<char, _Traits>& __in, signed char* __s) | ^~~~~~~~ /usr/include/c++/9/istream:808:5: note: template argument deduction/substitution failed: /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:23:18: note: 'std::ostream' {aka 'std::basic_ostream<char>'} is not derived from 'std::basic_istream<char, _Traits>' 23 | cout>>b[i]; | ^ In file included from /usr/include/c++/9/iostream:40, from /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:1: /usr/include/c++/9/istream:980:5: note: candidate: 'template<class _Istream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_istream<_Istream>, std::__is_extractable<typename std::__is_convertible_to_basic_istream<_Tp>::__istream_type, _Tp&&, void> >::value, typename std::__is_convertible_to_basic_istream<_Tp>::__istream_type>::type std::operator>>(_Istream&&, _Tp&&)' 980 | operator>>(_Istream&& __is, _Tp&& __x) | ^~~~~~~~ /usr/include/c++/9/istream:980:5: note: template argument deduction/substitution failed: /usr/include/c++/9/istream: In substitution of 'template<class _Istream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_istream<_Istream>, std::__is_extractable<typename std::__is_convertible_to_basic_istream<_Tp>::__istream_type, _Tp&&, void> >::value, typename std::__is_convertible_to_basic_istream<_Tp>::__istream_type>::type std::operator>>(_Istream&&, _Tp&&) [with _Istream = std::basic_ostream<char>&; _Tp = int&]': /tmp/4ca82a2ba0104a9492514772f8ffdd2d/main.c:23:18: required from here /usr/include/c++/9/istream:980:5: error: no type named 'type' in 'struct std::enable_if<false, void>'
最新发布
07-27
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值