Информация об изменениях

Сообщение Re[18]: Ошибка, если конструктор определен в h-файле (этюд?) от 06.07.2023 6:26

Изменено 06.07.2023 6:27 rg45

Re[18]: Ошибка, если конструктор определен в h-файле (этюд?)
Здравствуйте, Shmj, Вы писали:


S>Есть класс, который имеет декларацию в H-файле и реализацию в CPP-файле. Этот класс имеет конструктор по умолчанию (т.е. явно конструктор не объявлен и не определен). Сделайте так, чтобы при добавлении явного пустого конструктора в декларацию класса, типа такого:


S>
S>MyClass(){}
S>


S> — код перестал компилироваться. При этом если этот же пустой конструктор лишь декларировать в H-файле а определить в CPP-файле — то код снова должен компилироваться (иначе было бы слишком просто).


Придурок, это классическая проблема, с которой сталкивался каждый, кто использует идиoму PImpl. Это только для тебя это является открытием.
Re[18]: Ошибка, если конструктор определен в h-файле (этюд?)
Здравствуйте, Shmj, Вы писали:


S>Есть класс, который имеет декларацию в H-файле и реализацию в CPP-файле. Этот класс имеет конструктор по умолчанию (т.е. явно конструктор не объявлен и не определен). Сделайте так, чтобы при добавлении явного пустого конструктора в декларацию класса, типа такого:


S>
S>MyClass(){}
S>


S> — код перестал компилироваться. При этом если этот же пустой конструктор лишь декларировать в H-файле а определить в CPP-файле — то код снова должен компилироваться (иначе было бы слишком просто).


Придурок, это классическая проблема, с которой сталкивался каждый, кто использует идиoму скрытой реализации (PImpl). Это только для тебя это является открытием.