如何使用类模板作为函数参数?

1 c++ templates function-templates

我有一个类的声明

template<int a, int b>
class C {
public:
    array[a][b];
}
Run Code Online (Sandbox Code Playgroud)

我想在这样的函数中使用它作为参数:

bool DoSomeTests(C &c1, C &c2);
Run Code Online (Sandbox Code Playgroud)

但是当我编译时,它告诉我'使用类模板需要模板参数列表.' 我试过了

template<int a, int b>
bool DoSomeTests(C &c1, C &c2);
Run Code Online (Sandbox Code Playgroud)

但我得到了同样的错误.我怎样才能解决这个问题?

CB *_*ley 6

您需要C在声明中为类模板提供参数DoSomeTests:

template<int a, int b>
bool DoSomeTests(C<a, b> &c1, C<a, b> &c2);
Run Code Online (Sandbox Code Playgroud)

类模板C和函数模板都有DoSomeTests两个int模板参数,但是您希望将它们从函数模板映射到C编译器无法推断.