|
0 / 0 / 0
Регистрация: 18.04.2019
Сообщений: 58
|
|
Как предотвратить переполнение стека?05.10.2020, 09:44. Показов 923. Ответов 6
Метки нет (Все метки)
Доброе утро. При вызове метода из другого класса происходит переполнение стека(почему это происходит я понимаю, а вот как решить не совсем). Допустим классов всего 3, как создать экземпляр другого класса из одного места и менять там некоторые данные? Чтобы эти данные сохранялись и не нужно было создавать ещё один экземпляр из другого класса.
0
|
|
| 05.10.2020, 09:44 | |
|
Ответы с готовыми решениями:
6
Переполнение стека
Переполнение стека |
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
||
| 05.10.2020, 10:02 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 18.04.2019
Сообщений: 58
|
|
| 05.10.2020, 10:06 [ТС] | |
|
В том то и дело, что у меня нет рекурсивных вызовов. А можно чуть поподробнее? Вы имеете ввиду вынести некоторые поля в отдельный класс с конструктором?
0
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|||
| 05.10.2020, 10:11 | |||
|
Однако переполнение есть, потому приходится прийти к выводу, что вы эти вызовы просто не заметили. Подозреваю, что некий класс А создает экземпляр класса Б, который создает экземпляр класса А. И всё, приплыли. Естественно, в цепочке А-Б-А может быть и больше звеньев: А-Б-В-Г-Д-А, например.
0
|
|||
|
0 / 0 / 0
Регистрация: 18.04.2019
Сообщений: 58
|
||||||
| 05.10.2020, 10:38 [ТС] | ||||||
|
Кода очень много и весь скинуть не могу. Вот пример(он очень запутан, но именно так и запутан мой код...)
0
|
||||||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|
| 05.10.2020, 10:56 | |
|
Kiokko, приведенный код, насколько я понимаю, написан с нуля, а не скопирован из проблемного проекта.
Не надо писать код с нуля "для примера" — в нем может не быть тех ошибок, которые присутствуют в проблемном коде и могут быть совсем другие ошибки. Если вы спрашиваете в чем может быть проблема, то очевидно, что вы не можете воспроизвести ее в примере — тогда бы вопроса "в чем" не было. Вот в примере у вас в класса B создается экземпляр класса А. Уверен, что в классе А происходит то же самое, но с классом В.
1
|
|
|
0 / 0 / 0
Регистрация: 18.04.2019
Сообщений: 58
|
|
| 05.10.2020, 11:02 [ТС] | |
|
Пишу с телефона, поэтому тяжеловато. Да вы верно думаете, вот и вопрос как все сделать правильно
![]() В написанном примере, думаю, будет та же ошибка. Поэтому буду рада если вы поможете на нем
0
|
|
| 05.10.2020, 11:02 | |
|
Помогаю со студенческими работами здесь
7
Переполнение стека Переполнение стека потока
Переполнение стека при рекурсии Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|