Состав класса/ссылка разрушается с ошибкойC++

Программы на C++. Форум разработчиков
Anonymous
Состав класса/ссылка разрушается с ошибкой

Сообщение Anonymous »


Я не уверен, что происходит, потому что единственное сообщение об ошибке, которое я получаю, — это ошибка времени выполнения Неизвестный сигнал, что не очень полезное сообщение (по крайней мере для меня), которое появляется на мой деструктор Image.

Однако, когда я удаляю/комментирую строку shared_ptr Adjust..., ошибка исчезает и программа работает. Есть ли другой способ создания ссылки на класс композиции?

image.h

#include "adjustments/adjust.h" внешний класс Настроить Настроить; внешний класс Изображение { публика: Shared_ptr корректировка = make_shared(shared_ptr(this)); виртуальный ~Image() = по умолчанию; // Ошибка в этой строке. } изображение; adjustments/adjust.h

#include "../image.h" использование пространства имен std; внешний класс Изображение изображения; внешний класс Adjust { частный: Shared_ptr изображение; публика: Настроить (shared_ptr изображение) { это-> изображение = изображение; } виртуальный ~Adjust() = по умолчанию; } регулировать; Класс изображения создается следующим образом (очень упрощенно):
с использованием пространства имен std; int main(int argc, char* argv[]) { // Загружаем jpeg с помощью libjpeg (это делается в классе Jpeg) и возвращаем в main. shared_ptr image = make_shared(); }

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