[英]“Overloading” templated and non-templated types
在c ++中,可以重载模板化函数,以便可以使用模板参数调用它,或者不使用:
void func();
template <typename T> void func();
func();
func<int>();
类型(即类)是否可以相同?
class Class;
template <typename T> class Class;
Class a;
Class<int> b;
我只对能够同时使用Class
和Class<T>
作为类型感兴趣,其中Class
行为与Class<void>
相同 - Class<void>
的声明可以是必要的,以使其工作。
添加默认参数。
template<typename T = void>
class Class;
Class<>
现在等同于Class<void>
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.