Почему использование деструктора для определения моего класса мгновенно приводит к ошибке?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Почему использование деструктора для определения моего класса мгновенно приводит к ошибке?

Сообщение Anonymous »

Итак, я изучаю C++ и испытываю трудности с деструктором.
У меня есть этот простой фрагмент кода:

Код: Выделить всё

    class A {
int member;
~A();
};

void some_function() {
A a; // Line 1
A b = a; // Line 2
b = a; // Line 3
}
Следующая ошибка: «ошибка: переменная типа 'A' имеет частный деструктор»
Мне хотелось бы знать, в какой момент строка в функции, этот код не работает?
Я знаю, что деструктор по умолчанию является закрытым, поэтому пользователь не имеет к нему доступа, но почему такая простая строка генерирует ошибка.
Я думаю, что в строке 2 произошел сбой, потому что в этой строке требуется конструктор копирования для создания b, но a уже был уничтожен из-за определения класса, но я хотел бы получить подробный ответ, почему.
Спасибо за вашу помощь п>

Подробнее здесь: https://stackoverflow.com/questions/792 ... o-an-error
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»