我尝试使用带有键的 boost unordered_map 作为模板变量。
template<typename T>
std::string CPerformanceWatcher<T>::CheckPerformance(T &sOrderID, bool bDeleteRecord)
{
boost::unordered_map<T, int>::iterator iter;
iter = m_OrderIDTimeValMap->find(sOrderID);
if(iter == m_OrderIDTimeValMap->end())
{
return false;
}
return false;
}
但是编译提示语法错误。 所以我的问题是我是否不能使用这样的迭代器?
最佳答案
您需要使用 typename
解析从属名称关键词:
typename boost::unordered_map<T, int>::iterator iter;
有关从属名称的更多信息,请参阅:
关于c++ - 模板变量作为 unordered_map 键,迭代器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19175428/