![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
Вот например есть функции MAIN, A, B, C.
MAIN вызывает А а она В в свою очередь С и теперь в С я просто хочу закрыть все функции и вернутся СРАЗУ в MAIN, это вообще возможно? спасибо! |
|||
|
||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
throw?
Добавлено через 27 секунд ooops... не заметил, что C без ++ -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
| fantast |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 147 Регистрация: 10.12.2006 Где: минск, столица на шей Родины Репутация: 2 Всего: 2 |
нет, можно только сразу выйти из программы
--------------------
Эпитафия: Он старался. Неизвестный |
|||
|
||||
| apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 9 Всего: 23 |
А запуском функций после выхода из маин не интересуетессь?
а по твоему вопросу я не задавался че-то назад пройди цепочку и все функция же возвращает что-то ставиш условие если C возвратила false в B то B возвращает false в A(при этом ни-чего не делая кроме return false) а A выходит в main -------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
| powerfox |
|
|||
![]() I wanna fork() ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3990 Регистрация: 1.10.2005 Где: Санкт-Петербург Репутация: 2 Всего: 97 |
ressac: goto, setjump.h.
Ещё можно что-то типа:
И так далее. |
|||
|
||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
atexit самый нормальный вариант здесь. Сбработает даже при exit().
|
|||
|
||||
| fantast |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 147 Регистрация: 10.12.2006 Где: минск, столица на шей Родины Репутация: 2 Всего: 2 |
да, но нужно вернуться в main,а если вызвать atexit(main), то все данные в майне обнуляться, если только они не сделаны статическими, да и main начнеться с самого начала, а делать все переменные static по-моему не выход, если всего навсего надо выйти из нескольких функций. хотя функция atexit весьма любопытна, согласен Это сообщение отредактировал(а) fantast - 14.4.2007, 10:26 --------------------
Эпитафия: Он старался. Неизвестный |
|||
|
||||
| srd |
|
|||
![]() Нереварин ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 951 Регистрация: 30.8.2003 Где: Владивосток Репутация: 27 Всего: 49 |
fantast,
Насколько я понял, тебе надо имитировать в Си нечто вроде исключений? Тогда используй, как уже посоветовали, функции setjmp и longjmp. -------------------- Не смей читать мою подпись!!! |
|||
|
||||
| fantast |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 147 Регистрация: 10.12.2006 Где: минск, столица на шей Родины Репутация: 2 Всего: 2 |
srd, это не мне надо 8))
--------------------
Эпитафия: Он старался. Неизвестный |
|||
|
||||
| powerfox |
|
|||
![]() I wanna fork() ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3990 Регистрация: 1.10.2005 Где: Санкт-Петербург Репутация: 2 Всего: 97 |
Другого способа в Си нет.
|
|||
|
||||
| srd |
|
|||
![]() Нереварин ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 951 Регистрация: 30.8.2003 Где: Владивосток Репутация: 27 Всего: 49 |
fantast,
Сорри, Акелла промахнулся %) -------------------- Не смей читать мою подпись!!! |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |