C++ 优先级队列声明C++;

C++ 优先级队列声明C++;,c++,visual-studio-2013,priority-queue,C++,Visual Studio 2013,Priority Queue,有一段时间我对此感到相当沮丧,我似乎无法找到错误所在(请注意,我的编译器不支持c++11) 基本上,我试图构造一个优先级队列,其中每个元素包含另外两个元素。第一个元素是字符向量队列,第二个元素是计算该队列的启发式元素 字符向量队列的内容并不重要,只需对启发式(更大)进行评估,如下所示 struct pathP { public: queue<vector<char>> que; int hue; }; struct pathComp { bool

有一段时间我对此感到相当沮丧,我似乎无法找到错误所在(请注意,我的编译器不支持c++11)

基本上,我试图构造一个优先级队列,其中每个元素包含另外两个元素。第一个元素是字符向量队列,第二个元素是计算该队列的启发式元素

字符向量队列的内容并不重要,只需对启发式(更大)进行评估,如下所示

struct pathP
{
public:
    queue<vector<char>> que;
    int hue;
};

struct pathComp
{
    bool comp(const pathP &s1, const pathP &s2) const
    {
        return s1.hue < s2.hue;
    }
};
错误c2064读取“term不计算为具有2个参数的函数” 我不知道如何修复它

struct pathComp
struct pathComp
{
    bool operator()(const pathP &s1, const pathP &s2) const
    {
        return s1.hue < s2.hue;
    }
};
{ 布尔运算符()(常量路径P&s1,常量路径P&s2)常量 { 返回s1.hue
priority\u queue
未使用名为
comp
的方法。相反,您应该定义一个函子,它是一个覆盖上述
操作符()
的类。

struct pathComp
{
布尔运算符()(常量路径P&s1,常量路径P&s2)常量
{
返回s1.hue
priority\u queue
未使用名为
comp
的方法。相反,您应该定义一个函子,它是一个覆盖上述
operator()
的类。

可以发布一个吗?可以发布一个吗?
pathStore.que = saveQ;
heur = h1;
pathStore.hue = heur;
endV.push(pathStore); //error C2064
struct pathComp
{
    bool operator()(const pathP &s1, const pathP &s2) const
    {
        return s1.hue < s2.hue;
    }
};