我試圖通過boost::geometry::get
函數described here到另一個函數,但我似乎無法得到它的權利。函數指針升壓::幾何函數
我:
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
應該在函數簽名中。
我該如何去傳遞這個函數?
你可能想刪除所有不必要的環境,並將其減少到一個簡單的'std :: get',它們都有相同的問題。 – pmr