我有一个带有两个重载的函数模板getDescriptor
。它们具有以下签名:
template <class _DescriptorType>
typename _DescriptorType::FeatureType getDescriptor
(const View & view, const _DescriptorType & desc);
和
template <class _DescriptorType>
typename _DescriptorType::FeatureType getDescriptor
(const Instance & instance, const _DescriptorType & desc);
我有一个不同的功能模板
getEncoding
,其中我需要第一个getDescriptor
函数的地址,而_DescriptorType
来自getEncoding
:template <class _DescriptorType>
Encoding getEncoding()
{
auto ptr = static_cast<...>(getDescriptor);
...
}
将
static_cast
设置为getDescriptor
之一时,我需要放入_DescriptorType
以获得第二个重载的getEncoding
模板的地址吗? 最佳答案
你去了:
auto ptr = static_cast<
typename _DescriptorType::FeatureType (*)(const Instance &, const _DescriptorType &)
>(getDescriptor<_DescriptorType>);
关于c++ - 获取重载功能模板的地址,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29844898/