有没有为类创建非类型模板参数但不使用<>声明?

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)

获取默认参数?

Mik*_*our 7

您不能在没有尖括号的情况下实例化模板,并且您不能为类型指定与模板相同的名称,因此您无法完全按照自己的意愿执行操作.

您可以为模板指定一个不同的名称,并将typedef a指定为默认大小的名称.