Обёртка функции C ++ функции с аргументом шаблона

Вот пример коллекции "join" * Актеры и фильмы:

https://github.com/mongodb/cookbook/blob/master/ content / patterns / pivot.txt

Использует метод .mapReduce()

* join - альтернативу объединению в документарно-ориентированных базах данных

2
задан enni707 27 February 2019 в 06:11
поделиться

1 ответ

typedef FT (*Implicit_function)(FT, FT, FT);

Вы объявили, что функция принимает один и тот же тип для всех 3 параметров, а также возвращает тот же тип.

Надо было typedef FT (*Implicit_function)(FT, FT, Point_vec);

Исправить подпись Implicit_function, и ваша проблема должна исчезнуть.

В случае, если это хотя бы C ++ 11, вы также должны предпочесть std::function необработанному указателю на функцию, чтобы можно было принимать функции или лямбды с привязками / перехватами.

FT_to_point_function_wrapper::function должно быть объявлено const, так как оно устанавливается только списком инициализатора в конструкторе. Если вы используете C ++ 11, вы можете также объявить FT_to_point_function_wrapper::FT_to_point_function_wrapper как constexpr.

FT_to_point_function_wrapper::operator() следует также объявить const.

0
ответ дан Ext3h 27 February 2019 в 06:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: