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 に答える