C++错误error C2676什么意思
errorC2676:binary'<':'classstd::basic_ostream<char,structstd::char_traits<char>>'does...
error C2676: binary '<' : 'class std::basic_ostream<char,struct std::char_traits<char> >' does not define this operator or a conversion to a type acceptable to the predefined operator 这是什么意思
展开
3个回答
展开全部
C2676这个问题,出现的一种情况是,使用map时,用自定义类型作为健,需要重载运算符<。具体写法可以参考以下链接:网页链接
#include <map>
#include <iostream>
struct Test
{
int x;
int y;
bool operator < (const Test &o) const
{
return x < o.x || y < o.y;
}
};
int main()
{
std::map<Test, int> mapTest;
Test test = { 1, 2 };
mapTest[test] = 1; // 不重载运算符 < 会报C2676错误
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
到下面链接看看,你会得到很好的答案的
http://msdn.microsoft.com/zh-cn/library/sah8k6f4.aspx
http://msdn.microsoft.com/zh-cn/library/sah8k6f4.aspx
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |