【发布时间】:2022-01-06 10:37:55
【问题描述】:
我有一个模板类,我想为模板的特定特化添加一个特殊功能。这个函数只对 std::string 模板有意义。
我展示了我目前是如何处理这个问题的......问题是删除的函数仍然对所有模板类型可见,而不仅仅是我想使用它的 Match 模板。
有没有更优雅的方式来处理这种困境?
template<typename T>
class Match {
/*
*Class Definition
*
*/
void string_function() = delete;
};
template<>
void Match<Std::string>::string_function(){
//do something that only makes sense with strings
}
【问题讨论】:
标签: c++ templates c++17 template-specialization