Признак вызываемого класса и подпись оператора()C++

Программы на C++. Форум разработчиков
Anonymous
Признак вызываемого класса и подпись оператора()

Сообщение Anonymous »

Предположим, у меня есть класс

Код: Выделить всё

template 
class Integration
{
public:
T operator()(const Function & f, T a, T b) const
{
/// computes the integral of f over [a,b] when f is a function taking a T in
/// input and returning a T ; it could have not been operator()
}
вычисление численного интегрирования T-функций одной T-значной переменной. Поэтому предполагается, что класс Function реализует Toperator()(const & T) const или какой-либо его вариант. (Параметр шаблона T может быть, например, любым типом с плавающей запятой или пользовательским типом для автоматического дифференцирования.)
Я хотел бы каким-то образом обеспечить соблюдение этого условия в время компиляции. Есть ли особенность, позволяющая вызывать вызов (то есть каким-то образом реализовывать оператор()) с предписанной сигнатурой для оператора?
(Я хотел бы интегрировать одну переменную функцию с T типы ввода и возврата, но я также мог бы захотеть интегрировать функцию с векторным значением с входными значениями матрицы.)

Подробнее здесь: https://stackoverflow.com/questions/783 ... f-operator

Вернуться в «C++»