我有一个按照
的方式声明的类template<int a, int b>
class C {
public:
array[a][b];
}
我希望在这样的函数中使用它作为参数:
bool DoSomeTests(C &c1, C &c2);
但是当我编译时,它告诉我'使用类模板需要模板参数列表。'我试过了
template<int a, int b>
bool DoSomeTests(C &c1, C &c2);
但是我得到了同样的错误。我该如何解决这个问题?
答案 0 :(得分:6)
您需要在C
声明中为类模板DoSomeTests
提供参数:
template<int a, int b>
bool DoSomeTests(C<a, b> &c1, C<a, b> &c2);
类模板C
和您的函数模板DoSomeTests
都需要两个int
模板参数,但您希望将它们从函数模板映射到C
的事实可以不能由编译器推断。