假设我具有模板功能:
template<class T>
void whenMatchesType(std::function<void(T*)> action) { ... }
我可能会这样调用:
anObject.whenMatchesType<SomeType>([=](SomeType *value) {
// ...
});
尽管C ++能够从简单的非模板类型的参数推断出模板参数,但在这种情况下,我似乎无法省略显式指定类型(如<SomeType>
)-即使它是作为第一个参数的类型参数。
我的代码或编译中是否有更改,可以避免这种冗余?