我声明了一个模板类,所有参数都具有默认参数,例如:
template<typename TYPE = int>
class Foo {};
那么下面两个是等价的:
Foo<int> one;
Foo<> two;
但是,我不能这样做:
Foo three;
是否可以使用相同名称但没有括号的 typedef
来实现这一点,如下所示:
typedef Foo<> Foo;
最佳答案
我做了类似下面的事情,不知道你喜不喜欢:
template<typename TYPE = int>
class basic_Foo {};
typedef basic_Foo<int> Foo;
关于c++ - typedef 具有所有默认参数的模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6316661/