Вызов константной функции-члена с помощью std::function

#include <functional>

struct A {
    auto operator()() { return 1; }
    auto operator()() const { return 2; }
};

int main() {
    const std::function<int()> f = A{};
    return f();
}

Почему вызывается неконстантная 1 версия, хотя f константа? Как можно получить ожидаемый вызов?


Ответы (0 шт):