假设我有一个模板类
template <int v>
class Foo {...}
我有一个功能
void f(...)
接受Foo <1>,Foo <2>等的任何对象作为输入,如何定义函数?似乎
void f(Foo x)
不编译。 Foo <1>,Foo <100>,...和所有Foo的常见类型是什么?
Foo <1>,Foo <100>,...和所有Foo的常见类型是什么?
没有通用类型。不过,您也可以将f
也设为模板
template <int v>
void f(Foo<v> x)
{
//code here
}
像上面一样,现在该函数将接受并给您Foo
。
您也只需要使f
成为模板:
template <int v>
void foo(Foo<v> x)
{
// code
}