0

我尝试使用带有键的 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;
}

但是编译抱怨语法错误。所以我的问题是我是否不能使用这样的迭代器?

4

1 回答 1

3

您需要使用typename关键字解析依赖名称:

typename boost::unordered_map<T, int>::iterator iter;

有关从属名称的更多信息,请参阅:

http://en.cppreference.com/w/cpp/language/dependent_name

如何理解 C++ 中的依赖名称

于 2013-10-04T07:17:07.677 回答