I have a STL map in C++ where the key is an unsigned int, and the value is a class whose constructor is:
Foo::Foo(unsigned int integerValue){
//Some stuff
}
At other class I have declarated the std::map at the header:
private:
std::map<unsigned int, Foo> *m_mapFoo;
And at the cpp file I created it and inserted instances of Foo:
m_mapFoo = new std::map<unsigned int, Foo>;
m_mapFoo->insert(0, new Foo(0));
m_mapFoo->insert(1, new Foo(1));
But I'm getting the following error at the insert methods:
no matching function for call to ‘std::map<unsigned int, Foo, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, Foo> > >::insert(const unsigned int&, Foo*)’
Similar problem at find method:
m_mapFoo.find(0)->second->someFunctionIntoFooClass();
Where the error is exactly the following:
request for member ‘find’ in ‘((Foo*)this)->Foo::m_mapGeoDataProcess’, which is of non-class type ‘std::map<unsigned int, Foo, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, Foo> > >*’
Additional notes: I don't have a Foo copy constructor, but I don't think that's the problem.
Any help understanding this errors?