Почему использование деструктора для определения моего класса мгновенно приводит к ошибке?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

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