Re: CMap and struct
Thanks for your reply Joseph.
I have already tried a few combinations such as the one you suggested.
Yours will create the following errors:
error C2440: 'type cast' : cannot convert from 'SDataType' to
'DWORD_PTR' (refers to the "return" line in
template<class ARG_KEY>
AFX_INLINE UINT AFXAPI HashKey(ARG_KEY key)
{
// default identity hash - works for most primitive values
return (DWORD)(((DWORD_PTR)key)>>4);
}
)
plus the following error:
error C2678: binary '==' : no operator found which takes a left-hand
operand of type 'const SDataType' (or there is no acceptable
conversion)
D:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\atlmfc
\include\afxtempl.h(1544) : see reference to function template
instantiation 'BOOL CompareElements<KEY,SDataType>(const TYPE *,const
ARG_TYPE *)' being compiled
with
[
KEY=SDataType,
TYPE=SDataType,
ARG_TYPE=SDataType
]
refering to
template<class TYPE, class ARG_TYPE>
BOOL AFXAPI CompareElements(const TYPE* pElement1, const ARG_TYPE*
pElement2)
{
ASSERT(AfxIsValidAddress(pElement1, sizeof(TYPE), FALSE));
ASSERT(AfxIsValidAddress(pElement2, sizeof(ARG_TYPE), FALSE));
return *pElement1 == *pElement2; // this line
}