我希望此代码是可能的。
template<typename K, typename T, typename Comparer>
class AVLTree
{
...
void foo() {
...
int res = Comparer::compare(key1, key2);
...
}
...
};
具体来说,我想强制Comparer类具有
static int compare(K key1, K key2)
函数。我当时正在考虑使用推导,但是找不到任何适用于模板的想法。谢谢。
最佳答案
你不能但是,如果使用函数而比较器没有该函数,则编译将失败,这或多或少是您想要发生的事情。是的,就像其他人指出的那样,您希望将static称为static。