Состав класса/ссылка разрушается с ошибкой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(); }
Ответить

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

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

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

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

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