It appears to get upset whilst traversing a linked list, where it comes across an unititialised pointer.
In this case, the allocator has been applied to a std::vector. The exception occurs when calling 'reserve'.Code:// MEMBER FUNCTIONS FOR _Container_base12 inline void _Container_base12::_Orphan_all() { // orphan all iterators #if _ITERATOR_DEBUG_LEVEL == 2 if (_Myproxy != 0) { // proxy allocated, drain it _Lockit _Lock(_LOCK_DEBUG); for (_Iterator_base12 **_Pnext = &_Myproxy->_Myfirstiter; *_Pnext != 0; *_Pnext = (*_Pnext)->_Mynextiter) (*_Pnext)->_Myproxy = 0; _Myproxy->_Myfirstiter = 0; <<<< Here } #endif /* _ITERATOR_DEBUG_LEVEL == 2 */ }
I'll give allocator_traits a look.Code:vector<int, ArrayAllocator<int, 10>> test; int main() { test.reserve(2); }




Reply With Quote