我寫了一個模板(比如下面),但它無法編譯如何編寫模板向量轉換成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