我正在尝试将此处描述boost::geometry::get
的函数传递给另一个函数,但我似乎无法正确处理。
我有:
template<typename StorageType = double,
std::size_t D = 3>
class Derivative : public DerivativeBase<StorageType, D> {
public:
typedef typename DerivativeBase<StorageType, D>::results_t results_t;
template<typename Iterator, typename Geometry>
results_t operator()(Iterator& objIterator, StorageType (*getter)(Geometry const&))
...
并且编译器抛出:
error: no match for call to ‘(Derivative<double, 3ul>) (iterator&, <unresolved overloaded function type>)’
我尝试使用以下方法调用我的函数:
derivs = myDerivs(it, &boost::geometry::get<0>);
我想问题的一部分是因为我没有将参数传递给get
,所以编译器无法确定Geometry
函数签名中应该是什么类型。
我该如何去传递这个功能?