Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
DanilStudent
0 / 0 / 0
Регистрация: 30.05.2013
Сообщений: 19
#1

Возврат в функцию - C++

08.06.2013, 17:53. Просмотров 286. Ответов 5
Метки нет (Все метки)

Как сделать так, чтобы когда функция выполнилась, она вернула управление не в точку, из которой вызывалась, а в начало вызывающей функции?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.06.2013, 17:53     Возврат в функцию
Посмотрите здесь:

Возврат ссылки на функцию. - C++
Здравствуйте, можете пожалуйста объяснить чем отличается когда функция создается просто каким то типом, и когда она создается ссылкой на...

Возврат функцией указателя на функцию - C++
Всем привет! У меня возникла такая проблема: класс имеет поле-указатель на функцию. В методе, который осуществляет доступ к этуму полю,...

Передача аргументов в функцию и возврат значения - C++
Зачем нужны аргументы функции? Что делает return, если задать ненулевое значение? Как из main() перенести переменную в другую...

Возврат объекта с полями-массивами в функцию - C++
Есть вот такой код: #include<iostream> using namespace std; const int MAX=9; class Money {

Передача в функцию и возврат из функции динамической матрицы - C++
#include "stdafx.h" #include "iostream" using namespace std; const int n = 8; double ** f (double ** mas, int n) { ...

возврат - C++
пример: функция была выполнена с ошибкой, как сделать возврат на предыдущее функцию?

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ksandro
31 / 31 / 1
Регистрация: 15.04.2011
Сообщений: 81
08.06.2013, 18:11     Возврат в функцию #2
Так сделать нельзя. Функция всегда возвращается в точку из которой была вызвана.
Возможно тебе надо сделать рекурсивный вызов функции (вызов функцией самой себя) или просто использовать цикл.

Опиши подробнее задачу, для чего тебе это нужно?
Dr_Quake
Заблокирован
08.06.2013, 18:21     Возврат в функцию #3
Да вообще-то легко можно, только это будет уже не C++, а солянка хренова, реализация GOTO на асме достаточно проста, но как бы GOTO - прямая дорога в ад.
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
08.06.2013, 18:23     Возврат в функцию #4
В конце функции вызывай вызывающую функцию.
DanilStudent
0 / 0 / 0
Регистрация: 30.05.2013
Сообщений: 19
08.06.2013, 18:26  [ТС]     Возврат в функцию #5
А, зря панику развел, всё понял, там нужно с помощью цикла бесконечного.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.06.2013, 18:41     Возврат в функцию
Еще ссылки по теме:

возврат на верх - C++
здравствуйте!!!!!!!!!!!!!в dev c++ а конкретней в операторе cout есть различные функции для работы с текстом например cout<<"qwertyui\n";...

возврат по ссылкам - C++
На защиту лаб.работы препод требует рассказать о возврате по ссылкам. Зачем они? Как они описываются, какой у них плюс?

Возврат ссылок - C++
День добрый, Буду благодарен если разъясните следующий вопрос: Есть некий класс. Card. Для него есть перегруженный оператор...

Возврат коретки - C++
В чём отличие. Программы выводят разные данные? Думаю, что 1 код работает почему-то неправильно, т.к. выход должен быть twe. #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт CЭксперт С++
13054 / 7317 / 815
Регистрация: 27.09.2012
Сообщений: 18,053
Записей в блоге: 3
Завершенные тесты: 1
08.06.2013, 18:41     Возврат в функцию #6
Можно поиграться с Си'шными прыжками (longjump), но подобное поведение в контексте C++ настораживает...да и в Си тоже

Добавлено через 13 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <stdio.h>
#include <setjmp.h>
 
jmp_buf env;
 
void newfunction(){
    longjmp(env, 1);
}
 
int main(){
    std::cout<<"New function start"<<std::endl;
    int retval=setjmp(env);
    std::cout<<"New function end"<<std::endl;
    if (!retval) 
        newfunction();
    return 0;
}
Yandex
Объявления
08.06.2013, 18:41     Возврат в функцию
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru