我有一个功能需要能够适用于不同的容器类型,例如
void foo(const std::vector<bar>& param1, const std::vector<double>& params2)
和
void foo(const std::list<bar>& param1, const std::list<double>& params2)
我写的bar
是哪里class
?函数主体本身使用通用的C ++标准库函数。
有什么办法可以使我成为模板吗?我努力了
template<typename T> void foo(const T<bar>&, const T<double>&)
但这给了编译器错误
错误C2988:无法识别的模板声明/定义
我正在使用MSVC2015。
您应该声明T
为模板template参数,以表明它是模板名称(并需要实例化参数),例如
template<template <typename...> class T>
void foo(const T<bar>&, const T<double>&);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句