我尝试使用带有键的提升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;
有关从属名称的详细信息,请参阅:
http://en.cppreference.com/w/cpp/language/dependent_name
您如何理解C++中的从属名称