0

我怎样才能比较两个std::function

==似乎只与空指针比较: http ://en.cppreference.com/w/cpp/utility/functional/function/operator_cmp

4

1 回答 1

1

这是不可能的。std::function可以存储任何可复制和可调用的对象。这包括不可比较的对象。由于std::function可以包含不可比较的对象,因此它不能提供适用于所有包含对象的任何比较操作。

如果您想要此功能,则必须实现自己的类型擦除function模板,该模板要求包含的对象具有可比性。

于 2013-04-02T04:28:16.820 回答