Я пытаюсь переключить свой код на использование make_shared<type>()
, но у меня много незавершенных типов (завершено во время создания), и мне было интересно, если так или иначе make_shared будет работать с неполными типами или разрешить мне для передачи типа дебетонов.using make_shared с неполными типами
Я огляделся и не нашел сообщений, связанных с этим, так что либо это работает? или я упускаю из виду что-то основное.
#define NEW_PARAMS(Type, ...) ::std::shared_ptr<Type>(new (Type)(__VA_ARGS__), ::std::default_delete<Type>())
Выше макроса, который я использую для создания новых объектов. Хотелось бы, чтобы преобразовать это
#define NEW_PARAMS(Type, ...) ::std::make_shared<Type>(__VA_ARGS__, ::std::default_delete<Type>())
EDIT: Просто для уточнения я хотел бы спросить, если я мог бы передать тип DeleteR к shared_ptr
созданный с make_shared
«Я хотел спросить, могу ли я передать тип делетера в shared_ptr, созданный с помощью make_shared». Не могли бы вы уточнить этот вопрос, фактически спросив об этом *, вместо того, чтобы говорить в основном о неполных типах, которые не имеют никакого отношения к тому, что вы пытаешься это сделать? Просто повторите свой вопрос. –