【发布时间】:2010-04-28 08:36:51
【问题描述】:
我正在尝试在 C++ 中对自定义结构的向量进行排序
struct Book{
public:int H,W,V,i;
};
用一个简单的函子
class CompareHeight
{
public:
int operator() (Book lhs,Book rhs)
{
return lhs.H-rhs.H;
}
};
尝试时:
vector<Book> books(X);
.....
sort(books.begin(),books.end(), CompareHeight());
它给了我异常“无效的运算符
这个错误是什么意思?
谢谢
【问题讨论】:
-
顺便说一句,您的工具链(编译器/库)是什么?我很好奇哪个能识别这种错误。
-
我使用 VS 2008 .. 我认为认识到这个异常意味着它在运行时做了更多的工作,因此它在运行时间方面效率较低.. 对吗?
-
@jpalecek:Dinkumware 在他们的库中对此类内容进行了一些健全性检查。
标签: c++ struct sorting functor