
On 1 June 2012 11:34, Peter Dimov <pdimov@pdimov.com> wrote:
Daniel James wrote:
11.0\vc\include\xmemory0(420): error C2039: 'value_type' : is not a member of 'std::allocator_traits<_Alloc>::rebind_alloc<_Other>'
Looks like VC11's std::allocator_traits is missing the value_type typedef.
Strictly speaking, the above is not accessing value_type of allocator_traits, although I'm not sure what difference this makes. ::rebind_traits<>::value_type would.
Ah right, I misread the error, it looks like the problem happens when allocator_traits is instantiated and accesses value_type from the rebound allocator. Hard to say why that causes an issue without the compiler, maybe an issue with template aliases. But the workaround I suggested should still work. I can't really use rebind_traits without reworking the current implementation, as the allocator is rebound quite early on, and then passed as a template parameter.