компилятор говорит что я должен ставить ; между именем и телом
class NamedException : public Exception {
std::string name;
public:
NamedException( std::string&& name ) : name{ std::move( name ) } {};
};
std::string
[?]. Обязательно изучи ее документацию.const int a
родительского типа находится в его приватной зоне и не инициализируется потому что его конструктора нет, а задание не заключается в том чтобы ты писал конструктор базового типа. У тебя нет задачи написать конструктор и для родительского типа тоже, есть задача написать конструктор только для производного типа.if (!a)
- разыменование нулевого указателя, а оператор доступа к полю является элементом разыменования, ведет к неопределенному поведению.if (!a)
и, возможно, свел ее к if (false)
потому что дальше по ветке написан код разыменования нуля, а этого в программе принципиально быть не может.std::vector
.std::string
. А вдруг там стандарты не соблюдены, ошибки в расчетах у архитектора, и дом может обрушиться при определенных погодных условиях?
int64_t
. Этот тип уже некуда дальше приводить. Тогда...if( addition > ( std::numeric_limits<int64_t>::max() - base_value ) )
, то у нас будет переполнение.limits.h
является стандартным заголовком языка C [?]. Стандартным заголовком лимитов C++ является limits
[?].
Если коротко, то уверенные и обширные знания практически всех разделов математики - это лишь небольшая часть того, что требуется инженеру в разработке игр. Это если ты, конечно, не гиперказуалки хочешь на юньке пописывать.