'bool std::operator <(const std::_Tree<_Traits> &,const std::_Tree<_Traits> &)'

本文介绍了一个关于C++中字符串比较的编译错误error C2784,并提供了简单的解决方案——包含<string>头文件。此问题涉及模板函数推导失败的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

error C2784: 'bool std::operator <(const std::_Tree<_Traits> &,const std::_Tree<_Traits> &)' : could not deduce template argument for 'const std::_Tree<_Traits> &' from 'const std::string' 

 

解决:头文件添加#include <string>

转载于:https://www.cnblogs.com/zhoudingcocng/p/6026374.html

[{ &quot;resource&quot;: &quot;/d:/c++/code/13.cpp&quot;, &quot;owner&quot;: &quot;C/C++: IntelliSense&quot;, &quot;code&quot;: &quot;349&quot;, &quot;severity&quot;: 8, &quot;message&quot;: &quot;没有与这些操作数匹配的 \&quot;&lt;&lt;\&quot; 运算符&quot;, &quot;source&quot;: &quot;C/C++&quot;, &quot;startLineNumber&quot;: 21, &quot;startColumn&quot;: 11, &quot;endLineNumber&quot;: 21, &quot;endColumn&quot;: 13, &quot;relatedInformation&quot;: [ { &quot;startLineNumber&quot;: 21, &quot;startColumn&quot;: 11, &quot;endLineNumber&quot;: 21, &quot;endColumn&quot;: 13, &quot;message&quot;: &quot;操作数类型为: std::ostream &lt;&lt; void&quot;, &quot;resource&quot;: &quot;/d:/c++/code/13.cpp&quot; }, { &quot;startLineNumber&quot;: 21, &quot;startColumn&quot;: 11, &quot;endLineNumber&quot;: 21, &quot;endColumn&quot;: 13, &quot;message&quot;: &quot;函数 \&quot;std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt;(std::basic_ostream&lt;_CharT, _Traits&gt;::__streambuf_type *__sb) [其中 _CharT=char, _Traits=std::char_traits&lt;char&gt;]\&quot; 匹配,因为参数 #1 与参数匹配&quot;, &quot;resource&quot;: &quot;/d:/c++/code/13.cpp&quot; }, { &quot;startLineNumber&quot;: 21, &quot;startColumn&quot;: 11, &quot;endLineNumber&quot;: 21, &quot;endColumn&quot;: 13, &quot;message&quot;: &quot;函数 \&quot;std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt;(std::nullptr_t) [其中 _CharT=char, _Traits=std::char_traits&lt;char&gt;]\&quot; 匹配,因为参数 #1 与参数匹配&quot;, &quot;resource&quot;: &quot;/d:/c++/code/13.cpp&quot; }, { &quot;startLineNumber&quot;: 21, &quot;startColumn&quot;: 11, &quot;endLineNumber&quot;: 21, &quot;endColumn&quot;: 13, &quot;message&quot;: &quot;函数 \&quot;std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt;(const void *__p) [其中 _CharT=char, _Traits=std::char_traits&lt;char&gt;]\&quot; 匹配,因为参数 #1 与参数匹配&quot;, &quot;resource&quot;: &quot;/d:/c++/code/13.cpp&quot; }, { &quot;startLineNumber&quot;: 21, &quot;startColumn&quot;: 11, &quot;endLineNumber&quot;: 21, &quot;endColumn&quot;: 13, &quot;message&quot;: &quot;函数 \&quot;std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt;(long double __f) [其中 _CharT=char, _Traits=std::char_traits&lt;char&gt;]\&quot; 匹配,因为参数 #1 与参数匹配&quot;, &quot;resource&quot;: &quot;/d:/c++/code/13.cpp&quot; }, { &quot;startLineNumber&quot;: 21, &quot;startColumn&quot;: 11, &quot;endLineNumber&quot;: 21, &quot;endColumn&quot;: 13, &quot;message&quot;: &quot;函数 \&quot;std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt;(float __f) [其中 _CharT=char, _Traits=std::char_traits&lt;char&gt;]\&quot; 匹配,因为参数 #1 与参数匹配&quot;, &quot;resource&quot;: &quot;/d:/c++/code/13.cpp&quot; }, { &quot;startLineNumber&quot;: 21, &quot;startColumn&quot;: 11, &quot;endLineNumber&quot;: 21, &quot;endColumn&quot;: 13, &quot;message&quot;: &quot;函数 \&quot;std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt;(double __f) [其中 _CharT=char, _Traits=std::char_traits&lt;char&gt;]\&quot; 匹配,因为参数 #1 与参数匹配&quot;, &quot;resource&quot;: &quot;/d:/c++/code/13.cpp&quot; }, { &quot;startLineNumber&quot;: 21, &quot;startColumn&quot;: 11, &quot;endLineNumber&quot;: 21, &quot;endColumn&quot;: 13, &quot;message&quot;: &quot;函数 \&quot;std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt;(unsigned long long __n) [其中 _CharT=char, _Traits=std::char_traits&lt;char&gt;]\&quot; 匹配,因为参数 #1 与参数匹配&quot;, &quot;resource&quot;: &quot;/d:/c++/code/13.cpp&quot; }, { &quot;startLineNumber&quot;: 21, &quot;startColumn&quot;: 11, &quot;endLineNumber&quot;: 21, &quot;endColumn&quot;: 13, &quot;message&quot;: &quot;函数 \&quot;std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt;(long long __n) [其中 _CharT=char, _Traits=std::char_traits&lt;char&gt;]\&quot; 匹配,因为参数 #1 与参数匹配&quot;, &quot;resource&quot;: &quot;/d:/c++/code/13.cpp&quot; }, { &quot;startLineNumber&quot;: 21, &quot;startColumn&quot;: 11, &quot;endLineNumber&quot;: 21, &quot;endColumn&quot;: 13, &quot;message&quot;: &quot;函数 \&quot;std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt;(unsigned int __n) [其中 _CharT=char, _Traits=std::char_traits&lt;char&gt;]\&quot; 匹配,因为参数 #1 与参数匹配&quot;, &quot;resource&quot;: &quot;/d:/c++/code/13.cpp&quot; }, { &quot;startLineNumber&quot;: 21, &quot;startColumn&quot;: 11, &quot;endLineNumber&quot;: 21, &quot;endColumn&quot;: 13, &quot;message&quot;: &quot;函数 \&quot;std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt;(int __n) [其中 _CharT=char, _Traits=std::char_traits&lt;char&gt;]\&quot; 匹配,因为参数 #1 与参数匹配&quot;, &quot;resource&quot;: &quot;/d:/c++/code/13.cpp&quot; }, { &quot;startLineNumber&quot;: 21, &quot;startColumn&quot;: 11, &quot;endLineNumber&quot;: 21, &quot;endColumn&quot;: 13, &quot;message&quot;: &quot;函数 \&quot;std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt;(unsigned short __n) [其中 _CharT=char, _Traits=std::char_traits&lt;char&gt;]\&quot; 匹配,因为参数 #1 与参数匹配&quot;, &quot;resource&quot;: &quot;/d:/c++/code/13.cpp&quot; }, { &quot;startLineNumber&quot;: 21, &quot;startColumn&quot;: 11, &quot;endLineNumber&quot;: 21, &quot;endColumn&quot;: 13, &quot;message&quot;: &quot;函数 \&quot;std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt;(short __n) [其中 _CharT=char, _Traits=std::char_traits&lt;char&gt;]\&quot; 匹配,因为参数 #1 与参数匹配&quot;, &quot;resource&quot;: &quot;/d:/c++/code/13.cpp&quot; }, { &quot;startLineNumber&quot;: 21, &quot;startColumn&quot;: 11, &quot;endLineNumber&quot;: 21, &quot;endColumn&quot;: 13, &quot;message&quot;: &quot;函数 \&quot;std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt;(bool __n) [其中 _CharT=char, _Traits=std::char_traits&lt;char&gt;]\&quot; 匹配,因为参数 #1 与参数匹配&quot;, &quot;resource&quot;: &quot;/d:/c++/code/13.cpp&quot; }, { &quot;startLineNumber&quot;: 21, &quot;startColumn&quot;: 11, &quot;endLineNumber&quot;: 21, &quot;endColumn&quot;: 13, &quot;message&quot;: &quot;函数 \&quot;std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt;(unsigned long __n) [其中 _CharT=char, _Traits=std::char_traits&lt;char&gt;]\&quot; 匹配,因为参数 #1 与参数匹配&quot;, &quot;resource&quot;: &quot;/d:/c++/code/13.cpp&quot; }, { &quot;startLineNumber&quot;: 21, &quot;startColumn&quot;: 11, &quot;endLineNumber&quot;: 21, &quot;endColumn&quot;: 13, &quot;message&quot;: &quot;函数 \&quot;std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt;(long __n) [其中 _CharT=char, _Traits=std::char_traits&lt;char&gt;]\&quot; 匹配,因为参数 #1 与参数匹配&quot;, &quot;resource&quot;: &quot;/d:/c++/code/13.cpp&quot; }, { &quot;startLineNumber&quot;: 21, &quot;startColumn&quot;: 11, &quot;endLineNumber&quot;: 21, &quot;endColumn&quot;: 13, &quot;message&quot;: &quot;函数 \&quot;std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt;(std::ios_base &amp;(*__pf)(std::ios_base &amp;)) [其中 _CharT=char, _Traits=std::char_traits&lt;char&gt;]\&quot; 匹配,因为参数 #1 与参数匹配&quot;, &quot;resource&quot;: &quot;/d:/c++/code/13.cpp&quot; }, { &quot;startLineNumber&quot;: 21, &quot;startColumn&quot;: 11, &quot;endLineNumber&quot;: 21, &quot;endColumn&quot;: 13, &quot;message&quot;: &quot;函数 \&quot;std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt;(std::basic_ostream&lt;_CharT, _Traits&gt;::__ios_type &amp;(*__pf)(std::basic_ostream&lt;_CharT, _Traits&gt;::__ios_type &amp;)) [其中 _CharT=char, _Traits=std::char_traits&lt;char&gt;]\&quot; 匹配,因为参数 #1 与参数匹配&quot;, &quot;resource&quot;: &quot;/d:/c++/code/13.cpp&quot; }, { &quot;startLineNumber&quot;: 21, &quot;startColumn&quot;: 11, &quot;endLineNumber&quot;: 21, &quot;endColumn&quot;: 13, &quot;message&quot;: &quot;函数 \&quot;std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt;(std::basic_ostream&lt;_CharT, _Traits&gt;::__ostream_type &amp;(*__pf)(std::basic_ostream&lt;_CharT, _Traits&gt;::__ostream_type &amp;)) [其中 _CharT=char, _Traits=std::char_traits&lt;char&gt;]\&quot; 匹配,因为参数 #1 与参数匹配&quot;, &quot;resource&quot;: &quot;/d:/c++/code/13.cpp&quot; }, { &quot;startLineNumber&quot;: 21, &quot;startColumn&quot;: 11, &quot;endLineNumber&quot;: 21, &quot;endColumn&quot;: 13, &quot;message&quot;: &quot;候选项 函数模板 \&quot;std::operator&lt;&lt;(std::basic_ostream&lt;_CharT, _Traits&gt; &amp;__os, std::basic_string_view&lt;_CharT, _Traits&gt; __str)\&quot; 推断失败&quot;, &quot;resource&quot;: &quot;/d:/c++/code/13.cpp&quot; }, { &quot;startLineNumber&quot;: 21, &quot;startColumn&quot;: 11, &quot;endLineNumber&quot;: 21, &quot;endColumn&quot;: 13, &quot;message&quot;: &quot;候选项 函数模板 \&quot;std::operator&lt;&lt;(std::basic_ostream&lt;_CharT, _Traits&gt; &amp;__os, const std::__cxx11::basic_string&lt;_CharT, _Traits, _Alloc&gt; &amp;__str)\&quot; 推断失败&quot;, &quot;resource&quot;: &quot;/d:/c++/code/13.cpp&quot; }, { &quot;startLineNumber&quot;: 21, &quot;startColumn&quot;: 11, &quot;endLineNumber&quot;: 21, &quot;endColumn&quot;: 13, &quot;message&quot;: &quot;函数模板 \&quot;std::operator&lt;&lt;(std::byte __b, _IntegerType __shift) noexcept\&quot; 匹配,因为参数 #1 与参数匹配&quot;, &quot;resource&quot;: &quot;/d:/c++/code/13.cpp&quot; }, { &quot;startLineNumber&quot;: 21, &quot;startColumn&quot;: 11, &quot;endLineNumber&quot;: 21, &quot;endColumn&quot;: 13, &quot;message&quot;: &quot;函数模板 \&quot;std::operator&lt;&lt;(std::basic_ostream&lt;_CharT, _Traits&gt; &amp;__os, const std::error_code &amp;__e)\&quot; 匹配,因为参数 #2 与参数匹配&quot;, &quot;resource&quot;: &quot;/d:/c++/code/13.cpp&quot; }, { &quot;startLineNumber&quot;: 21, &quot;startColumn&quot;: 11, &quot;endLineNumber&quot;: 21, &quot;endColumn&quot;: 13, &quot;message&quot;: &quot;候选项 函数模板 \&quot;std::operator&lt;&lt;(std::basic_ostream&lt;_CharT, _Traits&gt; &amp;__out, _CharT __c)\&quot; 推断失败&quot;, &quot;resource&quot;: &quot;/d:/c++/code/13.cpp&quot; }, { &quot;startLineNumber&quot;: 21, &quot;startColumn&quot;: 11, &quot;endLineNumber&quot;: 21, &quot;endColumn&quot;: 13, &quot;message&quot;: &quot;函数模板 \&quot;std::operator&lt;&lt;(std::basic_ostream&lt;_CharT, _Traits&gt; &amp;__out, char __c)\&quot; 匹配,因为参数 #2 与参数匹配&quot;, &quot;resource&quot;: &quot;/d:/c++/code/13.cpp&quot; }, { &quot;startLineNumber&quot;: 21, &quot;startColumn&quot;: 11, &quot;endLineNumber&quot;: 21, &quot;endColumn&quot;: 13, &quot;message&quot;: &quot;函数模板 \&quot;std::operator&lt;&lt;(std::basic_ostream&lt;char, _Traits&gt; &amp;__out, char __c)\&quot; 匹配,因为参数 #2 与参数匹配&quot;, &quot;resource&quot;: &quot;/d:/c++/code/13.cpp&quot; }, { &quot;startLineNumber&quot;: 21, &quot;startColumn&quot;: 11, &quot;endLineNumber&quot;: 21, &quot;endColumn&quot;: 13, &quot;message&quot;: &quot;函数模板 \&quot;std::operator&lt;&lt;(std::basic_ostream&lt;char, _Traits&gt; &amp;__out, signed char __c)\&quot; 匹配,因为参数 #2 与参数匹配&quot;, &quot;resource&quot;: &quot;/d:/c++/code/13.cpp&quot; }, { &quot;startLineNumber&quot;: 21, &quot;startColumn&quot;: 11, &quot;endLineNumber&quot;: 21, &quot;endColumn&quot;: 13, &quot;message&quot;: &quot;函数模板 \&quot;std::operator&lt;&lt;(std::basic_ostream&lt;char, _Traits&gt; &amp;__out, unsigned char __c)\&quot; 匹配,因为参数 #2 与参数匹配&quot;, &quot;resource&quot;: &quot;/d:/c++/code/13.cpp&quot; }, { &quot;startLineNumber&quot;: 21, &quot;startColumn&quot;: 11, &quot;endLineNumber&quot;: 21, &quot;endColumn&quot;: 13, &quot;message&quot;: &quot;候选项 函数模板 \&quot;std::operator&lt;&lt;(std::basic_ostream&lt;_CharT, _Traits&gt; &amp;__out, const _CharT *__s)\&quot; 推断失败&quot;, &quot;resource&quot;: &quot;/d:/c++/code/13.cpp&quot; }, { &quot;startLineNumber&quot;: 21, &quot;startColumn&quot;: 11, &quot;endLineNumber&quot;: 21, &quot;endColumn&quot;: 13, &quot;message&quot;: &quot;函数模板 \&quot;std::operator&lt;&lt;(std::basic_ostream&lt;_CharT, _Traits&gt; &amp;__out, const char *__s)\&quot; 匹配,因为参数 #2 与参数匹配&quot;, &quot;resource&quot;: &quot;/d:/c++/code/13.cpp&quot; }, { &quot;startLineNumber&quot;: 21, &quot;startColumn&quot;: 11, &quot;endLineNumber&quot;: 21, &quot;endColumn&quot;: 13, &quot;message&quot;: &quot;函数模板 \&quot;std::operator&lt;&lt;(std::basic_ostream&lt;char, _Traits&gt; &amp;__out, const char *__s)\&quot; 匹配,因为参数 #2 与参数匹配&quot;, &quot;resource&quot;: &quot;/d:/c++/code/13.cpp&quot; }, { &quot;startLineNumber&quot;: 21, &quot;startColumn&quot;: 11, &quot;endLineNumber&quot;: 21, &quot;endColumn&quot;: 13, &quot;message&quot;: &quot;函数模板 \&quot;std::operator&lt;&lt;(std::basic_ostream&lt;char, _Traits&gt; &amp;__out, const signed char *__s)\&quot; 匹配,因为参数 #2 与参数匹配&quot;, &quot;resource&quot;: &quot;/d:/c++/code/13.cpp&quot; }, { &quot;startLineNumber&quot;: 21, &quot;startColumn&quot;: 11, &quot;endLineNumber&quot;: 21, &quot;endColumn&quot;: 13, &quot;message&quot;: &quot;函数模板 \&quot;std::operator&lt;&lt;(std::basic_ostream&lt;char, _Traits&gt; &amp;__out, const unsigned char *__s)\&quot; 匹配,因为参数 #2 与参数匹配&quot;, &quot;resource&quot;: &quot;/d:/c++/code/13.cpp&quot; }, { &quot;startLineNumber&quot;: 21, &quot;startColumn&quot;: 11, &quot;endLineNumber&quot;: 21, &quot;endColumn&quot;: 13, &quot;message&quot;: &quot;候选项 函数模板 \&quot;std::operator&lt;&lt;(_Ostream &amp;&amp;__os, const _Tp &amp;__x)\&quot; 推断失败&quot;, &quot;resource&quot;: &quot;/d:/c++/code/13.cpp&quot; }, { &quot;startLineNumber&quot;: 21, &quot;startColumn&quot;: 11, &quot;endLineNumber&quot;: 21, &quot;endColumn&quot;: 13, &quot;message&quot;: &quot;内置运算符&lt;&lt;(&lt;promoted integral&gt;, &lt;promoted integral&gt;) 匹配,因为参数 #1 与参数匹配&quot;, &quot;resource&quot;: &quot;/d:/c++/code/13.cpp&quot; } ] }]
05-24
(gdb) bt #0 0x005cd5ff in std::_Rb_tree_decrement(std::_Rb_tree_node_base*) () from /usr/lib/libstdc++.so.6 #1 0x080e3b15 in std::_Rb_tree_iterator&lt;std::pair&lt;std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const, STDTM::AlarmElement&gt; &gt;::operator-- (this=0xbfbacdc4) at /usr/lib/gcc/i686-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_tree.h:199 #2 0x080e3873 in std::_Rb_tree&lt;std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;, std::pair&lt;std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const, STDTM::AlarmElement&gt;, std::_Select1st&lt;std::pair&lt;std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const, STDTM::AlarmElement&gt; &gt;, std::less&lt;std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;, std::allocator&lt;std::pair&lt;std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const, STDTM::AlarmElement&gt; &gt; &gt;::_M_insert_unique (this=0x89b53a0, __v=...) at /usr/lib/gcc/i686-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_tree.h:1179 #3 0x080e31df in std::_Rb_tree&lt;std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;, std::pair&lt;std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const, STDTM::AlarmElement&gt;, std::_Select1st&lt;std::pair&lt;std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const, STDTM::AlarmElement&gt; &gt;, std::less&lt;std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;, std::allocator&lt;std::pair&lt;std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const, STDTM::AlarmElement&gt; &gt; &gt;::_M_insert_unique_ (this=0x89b53a0, __position=..., __v=...) at /usr/lib/gcc/i686-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_tree.h:1217 #4 0x080e2ee7 in std::map&lt;std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;, STDTM::AlarmElement, std::less&lt;std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;, std::allocator&lt;std::pair&lt;std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const, STDTM::AlarmElement&gt; &gt; &gt;::insert (this=0x89b53a0, __position=..., __x=...) at /usr/lib/gcc/i686-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_map.h:540
06-13
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值