error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2'
在yvals.h中
#ifdef _ITERATOR_DEBUG_LEVEL
....
#else
/* B1. Inspect _HAS_ITERATOR_DEBUGGING. */
#ifdef _HAS_ITERATOR_DEBUGGING /* B1i. _HAS_ITERATOR_DEBUGGING is already defined, validate it. */
....
#else /* B1ii. _HAS_ITERATOR_DEBUGGING is not yet defined, default it. */
#ifdef _DEBUG // 可见_DEBUG是区分后面_ITERATOR_DEBUG_LEVEL的关键
#define _HAS_ITERATOR_DEBUGGING 1
#else
#define _HAS_ITERATOR_DEBUGGING 0
#endif
#endif /* _HAS_ITERATOR_DEBUGGING */
....
/* B3. Derive _ITERATOR_DEBUG_LEVEL. */
#if _HAS_ITERATOR_DEBUGGING
#define _ITERATOR_DEBUG_LEVEL 2
#elif _SECURE_SCL
#define _ITERATOR_DEBUG_LEVEL 1
#else
#define _ITERATOR_DEBUG_LEVEL 0
#endif
#endif