Я довольно новичок в C ++, и в настоящее время я пытаюсь узнать, как использовать шаблон для лямбда-функции.
Лямбда можно увидеть в функции main
, и она просто делает логическое значениеcheck.
Реализация ниже работает, но я должен явно указать типы лямбда-функции в функции testing
, как видно из входного параметра.
void testing(std::function<bool(const int& x)> predicate){
auto a = predicate(2);
std::cout << a << "\n";
}
int main() {
int ax = 2;
testing([&ax](const int& x) { return x == ax;});
}
Я хочу, чтобыреализация, в которой я могу использовать шаблоны, как показано ниже, но я не могу заставить что-либо работать.
template <typename T>
void testing(std::function<bool(const T& x)> predicate){
auto a = predicate(2);
std::cout << a << "\n";
}
Есть ли общий способ использовать шаблон для лямбд?