boost::geometry::get
함수 described here을 다른 함수에 전달하려고 시도하지만 올바르게 처리 할 수 없습니다.boost :: geometry 함수에 대한 함수 포인터
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