Re[3]: Ошибка, если конструктор определен в h-файле (этюд?)
От: Videoman Россия https://hts.tv/
Дата: 05.07.23 13:06
Оценка: 1 (1) +1
Здравствуйте, Shmj, Вы писали:

S>Но мой вопрос в другом — не нужно именно такую же ошибку. Вообще почему может возникать — не все ли равно компилятору где определен ПУСТОЙ конструктор??? Любое доказательство что компилятору не все равно — меня устроит.


Ему естественно не всё равно. Пустой конструктор в месте своего объявления также создает пустые конструкторы вех членов класса. Может быть ситуация, когда в .h есть только декларация члена класса, но нет определения, а в .cpp определение уже есть полностью. Обычно таким свойством обладают шаблонные классы параметризуемые типами не требующими определения до момента конструирования. Например конструктор std::unique_ptr<> по умолчанию может потребовать delete-r (и соответственно определение класса, его деструктор в частности) в месте определения конструктора родителя.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.