我有以下比较函数,我将其传递给std::sort
算法以对对象向量进行排序:
template <typename PointT>
bool myCompareLines (A<PointT>::model_struct model_a, A<PointT>::model_struct model_b) {
return (/* some comparison code*/);
}
比较函数在类外部声明,我这样称呼它:
template <typename PointT>
class B {
[...]
std::sort(lines.begin().lines.end(),::myCompareLines);
[...]
}
当我编译我得到错误:template declaration of 'bool myCompareLines'
在里面class A
我声明class B
为一个朋友类,以便class B
可以访问私有类型model_struct
。我错过了什么?