Только std::allocator
s rebind
шаблон участника устарел. Если вы используете свой собственный класс, вы все равно можете определить rebind
.
Сделайте это через std::allocator_traits
, например:
using AllocatorForU = std::allocator_traits<AllocatorForT>::template rebind_alloc<U>;
Значение по умолчанию для rebind_alloc
для AllocatorTemplate<T, OtherTypes...>
равно AllocatorTemplate<U, OtherTypes...>
, что работает для std::allocator
, поэтому std::allocator<T>::rebind
устарело. Вы должны определить его для своего класса, так как он имеет нетипичный параметр шаблона.