Gbenbam Ответов: 1

Почему этот код std:: map не работает?


после использования typename для моего итератора компилятор не смог распознать - & gt;second. get. Почему?

           typename std::map<K,V>::iterator p;

            template<class K, class V>
           /////////////////////////////
           ////////////////////////////
p = mymap.find(Key);

if(p != mymap.end())
{
    if(p->second.get() == val)//Compiler couldn't //recoginise get hy
    {
        throw 'a';//Value type cannot match value for previous key
    }
}


Что я уже пробовал:

Я провел весь день в google.

Jochen Arndt

Пример кода не имеет смысла и не будет компилироваться. p зависит от K и V, и я ожидаю, что он будет использоваться внутри шаблона, а не снаружи.

1 Ответов

Рейтинг:
1

Richard MacCutchan

Видеть класс карты[^].