【发布时间】:2020-05-19 18:22:23
【问题描述】:
我需要编写一个类模板定义,其中包含两个模板参数(type、functor)和两个模板参数(array/std::vector、int),它们可以执行以下代码:
const char* message= "Message";
const transform<char, firstFunctor> first(message, lengthOfMessage);
transform_view<int, secondFunctor> second(intArray, intSize);
transform<double, thirdFunctor> third(doubleArray, doubleSize);
数组/向量的类型必须与第一个模板参数的类型匹配。
我尝试了一些这样的变体:
template <typename A, typename B>
class transform
{
public:
transform<A, B>(A[], B) {...};
}
但我无法让构造函数的第一个参数匹配所有三种类型。
感谢任何建议,谢谢!
【问题讨论】:
标签: c++ arrays templates vector class-template