创建与优先级队列兼容的结构

时间:2016-12-04 23:15:58

标签: c++ struct operators priority-queue

我目前正在C ++中创建一个与优先级队列兼容的结构(即我可以创建Item_Node的优先级队列),并且优先级队列按绑定值排序(上限=更高优先级)。以下是我对此的看法:

struct jmp {
    char op;
    double (*func)(double a, double b);
} jtable = {
    { '+', add },
    { '-', sub },
    { '*', mul },
    { '/', div },
    { 0, NUUL },
};
// in some function:
for (size_t i = 0; jtable[i].op; ++i) {
    if (jtable[i].op == requested_op) {
        result = jtable[i].func(a, b);
    }
}

编译时出现以下错误: 错误:可能无法在返回类型中定义新类型(在struct Item_Node的行上) 注意:(在'Item_Node'定义后可能缺少分号) 错误:'operator<'声明中的两个或多个数据类型(在行bool运算符< ...上) 错误:'}'标记之前的预期声明(在下一行上有};)

我特别不理解第三个,因为据我所知,我只有一种数据类型。

0 个答案:

没有答案