170 похожих чатов

Почему msvc может создать умный указатель, видя только объявление класса,

а вот gcc/clang требуют еще и определение? Это какая-то часть impl specified?

18 ответов

4 просмотра

И MSVC не может... А вообще, каков сценарий использования?)

Michael-Chambers Автор вопроса
Dmitriy [Отпуск]
И MSVC не может... А вообще, каков сценарий исполь...

сценария нет, мне надоело что один код собирается под msvc и не собирается под clang

Скорее всего они не могут найти деструктор, потому тебе нужно снабдить уник кастомным делитером, определение которого будет делать delete

Michael-Chambers Автор вопроса
disba1ancer
Скорее всего они не могут найти деструктор, потому...

да, кастомный делитер и не могут найти но это не отменяет первого сообщения

И что имеется ввиду под объявлением? Предварительное объявление?

Michael Chambers
ага, forward declaration

Тогда всё верно, шаблон уника не может инстанцировать delete ptr, где-то в своих недрах, поскольку не видит объявления деструктора

Michael-Chambers Автор вопроса
disba1ancer
Тогда всё верно, шаблон уника не может инстанциров...

и как же тогда msvc его инстанцирует интересно...

Michael Chambers
и как же тогда msvc его инстанцирует интересно...

Какая-то магия, не факт, что валидная с т.з. стандарта

Michael-Chambers Автор вопроса
disba1ancer
Какая-то магия, не факт, что валидная с т.з. станд...

вот можно как-то убрать эту магию? она мне не нравится

Michael Chambers
и как же тогда msvc его инстанцирует интересно...

У меня как-то не инстанцирует. Можно минимально воспроизводимый пример?

Michael Chambers
вот можно как-то убрать эту магию? она мне не нрав...

Просто засунь в уник кастомным делитер который определён рядом с реализацией класса, либо если этот юник у тебя в классе живёт, объяви у класса деструктор, а в реализации определи его пустым ио таким каким тебе надо, но не факт, что это поможет

Michael-Chambers Автор вопроса
Michael-Chambers Автор вопроса
Danya🔥
/permissive- ?

не помогло если что

Похожие вопросы

Обсуждают сегодня

Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
55
Вопрос. Теоретический. Есть список команд. Команды отправляю в обработку некой функции, по очереди. Разные команды могут давать разные результаты после обработки. В зависимос...
Serjone
7
Всем вечера. Подскажите как лучше сделать. делаю на Д10 Например будет база данных на SQLite. в ней будет много таблиц. более 50шт Типа справочник. Содержать ID Name Id p...
Андрей Т 🐎
10
Я короче решил скомпилировать Nim в js, я думал он сработает как обычный транслятор. По итогу он мне создал файл с расширением js, и туда поместил кучу кода Вопрос, что это з...
𝕾𝖍𝖆𝖉𝖊 <suspense>
8
Добрый день! Хочу спросить совета. Хочется в скрипт добавить некую конструкцию, что скрипт создал файл, который нужно потом скопировать в определенное место. Нашел такой сп...
Mikhail
4
подскажите пожалуйста, как мне освободить результат записанный в переменную result? в чем проблема подскажите если МОЖЕТЕ?
Михаил Helper
28
Вопрос по WIN32: Насколько я понимаю то все функции win32 привязаны к объектам операционной системы. Например консоль, файл, кисть, окна итд. Следовательно функции win32 упра...
Tommy Vercetti
6
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
in telegram can i have multiple username? so instead of having multiple account for example one for work, one for friend and one for family with three diff numbers. using one ...
Mr Thieves
6
кто-то пользуется компонентами rx ? как их лучше ставить, через OPM? (lazarus)
Iluha Companets
15
Карта сайта