Сообщение Re[18]: Ошибка, если конструктор определен в h-файле (этюд?) от 06.07.2023 6:26
Изменено 06.07.2023 6:27 rg45
Re[18]: Ошибка, если конструктор определен в h-файле (этюд?)
Здравствуйте, Shmj, Вы писали:
S>Есть класс, который имеет декларацию в H-файле и реализацию в CPP-файле. Этот класс имеет конструктор по умолчанию (т.е. явно конструктор не объявлен и не определен). Сделайте так, чтобы при добавлении явного пустого конструктора в декларацию класса, типа такого:
S>
S> — код перестал компилироваться. При этом если этот же пустой конструктор лишь декларировать в H-файле а определить в CPP-файле — то код снова должен компилироваться (иначе было бы слишком просто).
Придурок, это классическая проблема, с которой сталкивался каждый, кто использует идиoму PImpl. Это только для тебя это является открытием.
S>Есть класс, который имеет декларацию в H-файле и реализацию в CPP-файле. Этот класс имеет конструктор по умолчанию (т.е. явно конструктор не объявлен и не определен). Сделайте так, чтобы при добавлении явного пустого конструктора в декларацию класса, типа такого:
S>
S>MyClass(){}
S>S> — код перестал компилироваться. При этом если этот же пустой конструктор лишь декларировать в H-файле а определить в CPP-файле — то код снова должен компилироваться (иначе было бы слишком просто).
Придурок, это классическая проблема, с которой сталкивался каждый, кто использует идиoму PImpl. Это только для тебя это является открытием.
Re[18]: Ошибка, если конструктор определен в h-файле (этюд?)
Здравствуйте, Shmj, Вы писали:
S>Есть класс, который имеет декларацию в H-файле и реализацию в CPP-файле. Этот класс имеет конструктор по умолчанию (т.е. явно конструктор не объявлен и не определен). Сделайте так, чтобы при добавлении явного пустого конструктора в декларацию класса, типа такого:
S>
S> — код перестал компилироваться. При этом если этот же пустой конструктор лишь декларировать в H-файле а определить в CPP-файле — то код снова должен компилироваться (иначе было бы слишком просто).
Придурок, это классическая проблема, с которой сталкивался каждый, кто использует идиoму скрытой реализации (PImpl). Это только для тебя это является открытием.
S>Есть класс, который имеет декларацию в H-файле и реализацию в CPP-файле. Этот класс имеет конструктор по умолчанию (т.е. явно конструктор не объявлен и не определен). Сделайте так, чтобы при добавлении явного пустого конструктора в декларацию класса, типа такого:
S>
S>MyClass(){}
S>S> — код перестал компилироваться. При этом если этот же пустой конструктор лишь декларировать в H-файле а определить в CPP-файле — то код снова должен компилироваться (иначе было бы слишком просто).
Придурок, это классическая проблема, с которой сталкивался каждый, кто использует идиoму скрытой реализации (PImpl). Это только для тебя это является открытием.