[英]How to use a templated client display() function that takes a set as the parameter
[英]Function that takes templated length parameter
我有一个自定义数组 class
template <typename T, unsigned L>
class Array
{ ... };
我的目标是声明一个 function 将获取数组 class 的副本并使用其值返回所有元素的总和。
问题是代码仅针对定义为int sum(Array<int, 3> a)
的 function 编译,而不针对定义为int sum(Array<int> a)
的 function 编译。
不适用于定义为 int sum(Array a) 的 function。
那是因为Array<int>
不是有效类型。 您的Array
模板需要两个参数,而不是一个。
您正在寻找的只是另一个模板 function:
template<unsigned size> int sum(const Array<int, size> &a)
{
// Function code here:
}
至于如何对其进行编码:只需考虑您的代码需要是什么,以防您的Array<int, 3>
或者,也许是Array<int, 100000>
并将3
或100000
替换为size
/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.