Функция друга и allocator_traits в С++ 20C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Функция друга и allocator_traits в С++ 20

Сообщение Anonymous »


Я обновляю свой C++14 до C++20, и allocator_traits внезапно перестал работать. Я использую friend для метода construct allocator_traits, потому что мой пользовательский тип A имеет частный конструктор. Я вижу устаревание construct в std::allocator. Повлияет ли это на использование allocator_traits? Или использование friend изменилось?
#if _MSC_VER >= 1700 // VS2012 друг void std::allocator::construct(A *); друг void std::allocator::construct(A *,const A &); #if _MSC_VER >= 1900 // VS2017 друг void std::_Default_allocator_traits::construct(std::allocator &, A *конст); друг void std::_Default_allocator_traits::construct(std::allocator &, A *const, const A &); #endif // _MSC_VER >= 1900 #endif // _MSC_VER
Я пытался избавиться от std::allocator::construct, но тогда allocator_traits больше не работал. Поскольку std::allocator::construct был удален, можно ли это как-нибудь исправить?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»