在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>
完全相同 - 类的声明可以是尽可能复杂,以使其发挥作用。
答案 0 :(得分:2)
添加默认参数。
template<typename T = void>
class Class;
Class<>
现在相当于Class<void>
。