1 c++
我的原始代码如下所示:
class a{
...
char buff[10];
}
Run Code Online (Sandbox Code Playgroud)
并且我试图对代码进行此更改:
template <int N = 10>
class a{
...
char buff[N];
}
Run Code Online (Sandbox Code Playgroud)
我能做些什么来保持现有代码创建类的实例,如下所示:
a test;
Run Code Online (Sandbox Code Playgroud)
而不是改变:
a<> test;
Run Code Online (Sandbox Code Playgroud)
获取默认参数?
您不能在没有尖括号的情况下实例化模板,并且您不能为类型指定与模板相同的名称,因此您无法完全按照自己的意愿执行操作.
您可以为模板指定一个不同的名称,并将typedef a指定为默认大小的名称.