multiset中的类型参数可以填一个函数指针么

例如我有一种Rectangle类,想要用面积的方式给很多矩形排序,使用

multiset<Rectangle, Comp> m;

这个创建容器对象的语句。
那么我定义的Comp必须是一个函数对象吗?不能是一个函数吗?
我定义

bool Comp(const Rectangle &rec1, const Rectangle &rec2)

编译器会说“函数 "Comp" 不是类型名”,似乎只能是

class Comp
{
    bool operator()(const Rectangle &rec1, const Rectangle &rec2)
    ...
}

可是我感觉函数和仿函数应该都是能套进multimap的template中的吧?哪里会有区别呢?