是否有任何方法可以在C ++模板中进行更复杂的类型推断?

问题描述 投票:0回答:1

假设我具有模板功能:

template<class T>
void whenMatchesType(std::function<void(T*)> action) { ... }

我可能会这样调用:

anObject.whenMatchesType<SomeType>([=](SomeType *value) {
    // ...
});

尽管C ++能够从简单的非模板类型的参数推断出模板参数,但在这种情况下,我似乎无法省略显式指定类型(如<SomeType>)-即使它是作为第一个参数的类型参数。

我的代码或编译中是否有更改,可以避免这种冗余?

c++ templates type-inference
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.