我对STL很新,我正在尝试填写一些创建优先级队列的代码,队列顶部始终是队列的最大值。该问题指定不包括功能标题(即,不大于<>)。所以,我的目标就是:
int main()
{
struct hi
{
bool operator () (double & a, double & b) const
{
return a > b;
}
};
priority_queue < double, vector<double>, hi > q;
//... other operations.
当我编译它是MSVC时,一切顺利,当我调用q.top()并打印最高值时,我得到了所需的结果。但是当编译这个是带有GCC的ideOne或Eclipse时,我得到一个关于&#34;无效类型声明之前的编译错误;&#34;。我在这里做错了什么?
注意:我应该在主要功能中填入黑色。