1

我有一个按照以下方式声明的类

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);

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

4

1 回答 1

6

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

template<int a, int b>
bool DoSomeTests(C<a, b> &c1, C<a, b> &c2);

类模板C和您的函数模板都DoSomeTests采用两个模板参数,但是编译器无法推断出int您希望将它们从函数模板映射到的事实。C

于 2010-05-03T20:12:12.903 回答