Я просто пытаюсь объявить итератор карты, но я получаю сообщение об ошибке компиляции с надписью "ожидается; до этого"
Я полагаю, это потому, что я не включил все пространство имен std (используя пространство имен std;), но я намеренно не хочу включать все это.
Мой код:
#include <map>
#include <string>
template <class Object>
class Cont
{
public:
Cont() {}
Object* get( unsigned int nID )
{
std::map <unsigned int, Object*>::iterator it = m.begin(); // error here "expected ; before it" what is this error?
for ( ; it != m.end(); it++ )
{
if ( (*it).second->ID == nID ) { return (*it).second; }
}
return NULL;
}
std::map <unsigned int, Object*> m;
};
Я попробовал это также, но это не работает:
std::map <unsigned int, Object*>::std::iterator it = m.begin();