c++ - 在 C++20 中调用纯模板 lambda callback

使用 C++20,我们获得了模板化的 lambdas,太棒了!

[]<class T>(){};

是否可以使用模板参数调用 lambda callback ,但没有参数来推断它?

例如,

template <class Func>
void do_it(Func&& func) {
    // Call lambda with template here, but don't provide extra arguments.
    // func<int>(); ?
}

do_it([]<class T>(){ /* do something with T */ });

回答1

是否可以使用模板参数调用 lambda callback,但没有参数来推断它?

这可能是你想要的

template <class Func>
void do_it(Func&& func) {
  func.template operator()<int>();
}

相似文章

xslt - 使用递归节点重构 xml

我在SAPPI中遇到带有递归节点的xml的问题。我有一个容器,它可以有一个带有(另一个)容器的子容器。输入xml<Containersxmlns="https://www.uniconcreation...

随机推荐

最新文章