Expression : invalid operator <

原创 2015年11月18日 19:03:34
今天用sort来对vector进行排序,然后排序函数如下:
	static bool comp(const Interval a, const Interval b)
	{
		return a.start > b.start ? 1 : (a.start < b.start ? -1 : 0);
	}

结果一直提示错误。

后来查了下,大概是出这个错是因为VS2005,VS2008后的sort()里,用的是所谓的“ strict weak ordering”,也就是说,如果a==b,则返回的应该是false,如果返回的是true,则会出上面的错。

修改成下面形式就OK了。

	static bool comp(const Interval a, const Interval b)
	{
		return a.start > b.start ? 1 : 0;
	}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

错误expression: invalid operator<

今天写了一段数组从大到小倒排序的代码,大意像这样: bool compare( int a, int b ) {     return a >= b; } std::sort( intArray.be...

内存分配:new的三种方法-new expression、operator new和placement new

C++中关于关键字new内存分配操作有三种

new expression、operator new和placement new——三个“妞(new)”的故事(3)

placement operator new placement operator new用来在指定地址上构造对象,要注意的是,它并不分配内存,仅仅是 对指定地址调用构造函数。其调用方式如下: ...

new expression、operator new 和 placement new——三个妞(new)的故事(1)

之前虽然一直知道有new expression、operator new和placement new,但对于这三个“new”, 却不甚了了,这些天从《深度探索C++对象模型》读到new和delete,...

ATL::CComPtr::operator& 断言 Expression: p == 0 原因分析

一、引言最近在开发过程中,在使用 ATL::CComPtr 的时候,总会出现一个断言提示:另外,在断言出现处点击“重试”,又可以定位到具体出错的地方://The assert on operator&...

电脑开机显示Invalid system disk

  • 2013年03月11日 14:27
  • 12KB
  • 下载

invalid

  • 2011年01月31日 21:59
  • 982KB
  • 下载

实战c++中的vector系列--vector的遍历(stl算法、vector迭代器(不要在循环中判断不等于end())、operator[])

遍历一个vector容器有很多种方法,使用起来也是仁者见仁。通过索引遍历:for (i = 0; i...

prot_eus InValid

  • 2009年12月02日 12:01
  • 530KB
  • 下载

SeekBar GL_INVALID_VALUE 演示DEMO

  • 2013年12月13日 17:16
  • 1.22MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Expression : invalid operator <
举报原因:
原因补充:

(最多只允许输入30个字)