如何为函数<void(void)> type?</void(void)>实现等式表达式

时间:2015-01-14 17:39:34

标签: c++ function bind operator-keyword equality

我希望能够比较保存函数的变量,看看它们所持有的函数是否相同。

#include <iostream>
#include <functional>

using namespace std;

typedef std::function<void(void)> func;

void sayHi() {
    cout << "hi" << endl;
}

int main() {
    func f1 = bind(&sayHi);
    func f2 = bind(&sayHi);

    cout << (f1 == f2) << endl; // IntelliSense states there is no "==" 
                               //   operator to match these operands
}

我猜有一些方法可以使用operator关键字来实现相等匹配表达式?在这种情况下,我真的不知道如何实现它。

0 个答案:

没有答案