3
我正在嘗試編寫一個函數來爲日誌記錄目的「串化」參數。例如,我想寫的東西是這樣的:C++函數模板編譯錯誤「'containerType'不是模板」
vector<string> queries;
set<uint_8> filters;
LOG(INFO) << stringify<vector, string>(queries);
LOG(INFO) << stringify<set, uint_8>(filters);
下面是函數模板,我寫道:
template <typename containerType, typename elemType>
string _stringify(const string name, const containerType<elemType> &elems) {
ostringstream os;
os << name << ": [";
BOOST_FOREACH(elemType elem, elems) {
os << elem << ",";
}
os << "]";
return os.str();
}
以下是錯誤消息我:error: ‘containerType’ is not a template
謝謝, Alex
對於'value_type' +1。 – 2010-08-09 00:03:44
謝謝詹姆斯,這是一個美麗的答案。更乾淨。謝謝。 – 2010-08-09 00:50:56