Пожалуйста, посмотрите на этот код
class Bond
{
public:
Bond(int payments_per_year, int period_lengths_in_months);
Bond() = default;
private:
const int payments_per_year;
const int period_length_in_months;
};
int main()
{
Bond b; // Error here
}
При попытке компиляции я получаю сообщение об ошибке:
ошибка C2280: 'Bond :: Bond (void)': попытка обратиться к удаленной функции ".
Это не нарушение "правила 3", так как я добавил конструктор по умолчанию.
Почему компилятор не распознает Bond() = default;
?