|Important||This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer|
Breaking Changes (MFC)
Breaking changes in MFC.
The plRequestNumber parameter to will now be initialized to zero if it does not represent a currently active memory block.
CString operators << and >> that were global in afxstr.h have been moved to be a member operator in CArchive. The new operators are:
template< typename BaseType, class StringTraits > CArchive& operator<<(const ATL::CStringT<BaseType, StringTraits>& str) template< typename BaseType, class StringTraits > CArchive& operator>>(ATL::CStringT<BaseType, StringTraits>& str)
This change breaks user code in the following scenarios:
Existing code that already specializes the global operator << , so specialization doesn't have the primary template anymore.
Existing code that calls ::operator <<(ar,str); (instead of using the ar << str syntax).
Create and CreateEx methods are no longer virtual on several MFC control classes:, , , , , , . These virtual methods were added in the previous version but broke user code, so they have been removed.