std::array
接受两个模板参数:
typename T // the element type
size_t N // the size of the array
我想定义一个将 std::array 作为参数的函数,但仅适用于特定的 T,在这种情况下char
,但适用于任何大小的数组:
以下是格式错误的:
void f(array<char, size_t N> x) // ???
{
cout << N;
}
int main()
{
array<char, 42> A;
f(A); // should print 42
array<int, 42> B;
f(B); // should not compile
}
写这个的正确方法是什么?