I am trying to do a find on an object from just an ID string.
It looks something like

m_DialogMap.find((_bstr_t)listtemp->GetID());

where m_DialogMap is declared as a map of ValidDialogList

typedef std::map<DialogInfo*, UIObject*> ValidDialogList;

I have overloaded the == and != in DialogInfo to

bool operator== (const _bstr_t v_param)
{
return (id == v_param);
}

bool operator!= (const _bstr_t v_param)
{
return (id != v_param);
}

If I put
m_DialogMap.find(new DialogInfo());

my code works fine.... making me think my comparison overloads arent working.... STL does support this type of overloading correct?

Thanks
Chris

Here is the error im getting... in case that helps
error C2664: 'std::_Tree<_Traits>::iterator std::_Tree<_Traits>::find(const std::_Tree<_Traits>::key_type & )' : cannot convert parameter 1 from '_bstr_t' to 'const std::_Tree<_Traits>::key_type & '
with
[
_Traits=std::_Tmap_traits<DialogInfo *,UIObject *,std::less<DialogInfo *>,std::allocator<std::pair<DialogInfo *const ,UIObject *>>,false>
]
and
[
_Traits=std::_Tmap_traits<DialogInfo *,UIObject *,std::less<DialogInfo *>,std::allocator<std::pair<DialogInfo *const ,UIObject *>>,false>
]