我写了一个模板(比如下面),但它无法编译如何编写模板向量转换成JSON ::值(jsoncpp)
template<class t, template<typename> class iterable>
Json::Value iterable2json(const iterable<t>& cont)
{
Json::Value v;
for(const t& elt : cont)
{
v.append(elt);
}
return v;
}
std::vector<int> vec{1,2,3};
Json::Value v = iterable2json(vec)
错误C3312:发现类型没有可调用的“开始”功能'常量性病:: _ Vector_val < _Val_types>'
与[_Val_types =标准:: _ Simple_types]
见参考起作用模板实例“的Json ::值iterable2json,性病:: _ Vector_val>(常量的std :: _Vector_val < _Val_types> &)”被编译
与[_Value_type = INT,_Val_types =标准:: _ Simple_types]
错误C3312:没有可调用 '常量性病端' 找到类型函数 ':: _ Vector_val < _Val_types>'
与[_Val_types =标准:: _ Simple_types]
错误C2065:ELT':未声明的标识符
你可以添加你遇到的编译器错误吗? – NicholasM 2014-11-06 06:56:49