Re[3]: Отсутствующий конструктор копирования в MSVC2019 вызы
От: rg45 СССР  
Дата: 07.03.24 16:38
Оценка: +3
Здравствуйте, Marty, Вы писали:

S>>Ну и как бы не видя базового класса это может превратиться в гадание по кофейной гуще.


M>
struct NonCopiableObject : public IObject
M>{
M>    NonCopiableObject() = default;

M>    NonCopiableObject(const NonCopiableObject&) = delete;
M>    NonCopiableObject& operator=(const NonCopiableObject&) = delete;

M>    NonCopiableObject(NonCopiableObject&&) = default;
M>    NonCopiableObject& operator=(NonCopiableObject&&) = default;

M>}; // struct NonCopiableObject

M>


Ну хорошо, а в IObject что? Ты в курсе, что, если ты объявил какой-то конструктор как default, это еще не гарантия того, что этот конструктор будет реально доступен? "default" на раз может реализоваться в "delete", если в классе присутствуют подобъекты(члены, базовые классы, члены базовых классов...) с явно или неявно удаленным конструктором.

Смотри, как получается, ты ждешь, что тебе помогут, не показывая всего кода. Так можно потратить уйму времени с нулевым результатом.

Я бы предложил тебе поработать над минимизированным примером, воспроизводящем проблему, который можно было бы загрузить в какой-нибудь онлайн компилятор. И очень вероятно, что ошибку ты найдешь сам, в процессе работы над этим примером.
--
Справедливость выше закона. А человечность выше справедливости.
Отредактировано 07.03.2024 16:48 rg45 . Предыдущая версия . Еще …
Отредактировано 07.03.2024 16:40 rg45 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.