STATIC_DOWNCAST bug when used on const pointers?
Niels Ull Jacobsen -- nuj@kruger.dk
Wednesday, May 01, 1996
VC++ 4.1, MFC 4.1, Win95
I run into an infinite recursion when using STATIC_DOWNCAST on a const=
 pointer.
In afx.inl, line 38-41, I find:=20
#ifdef _DEBUG
_AFX_INLINE const CObject* AFX_CDECL AfxStaticDownCast(CRuntimeClass*
pClass, const CObject* pObject)
	{ return (CObject*)AfxStaticDownCast(pClass, (const CObject*)pObject); }
#endif
This gives an endless recursion.
I think it should be
_AFX_INLINE const CObject* AFX_CDECL AfxStaticDownCast(CRuntimeClass*
pClass, const CObject* pObject)
    { return (const CObject*)AfxStaticDownCast(pClass, const_cast 
pObject); }
Niels Ull Jacobsen, Kr=FCger A/S (nuj@kruger.dk)
Everything stated herein is THE OFFICIAL POLICY of the entire Kruger group
and should be taken as legally binding in every respect. Pigs will grow
wings and fly.
Mike Blaszczak -- mikeblas@interserv.com
Wednesday, May 01, 1996
On Wed, 01 May 1996, Niels Ull Jacobsen  wrote:
>I run into an infinite recursion when using STATIC_DOWNCAST
>on a const pointer.
Yep.  It's been fixed for MFC 4.2.  Since I fixed it, I probably broke 
something else at the same time.  For now, you'll have to cast away 
constness.
.B ekiM
TCHAR szDisc[] = _T("These words are my own; I do not speak for Microsoft.");
 
  
   
     
  | Вернуться в корень Архива
  |