Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

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

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

Возврат ссылки на функцию. - 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++
пример: функция была выполнена с ошибкой, как сделать возврат на предыдущее функцию?

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

Опиши подробнее задачу, для чего тебе это нужно?
0
Dr_Quake
Заблокирован
08.06.2013, 18:21 #3
Да вообще-то легко можно, только это будет уже не C++, а солянка хренова, реализация GOTO на асме достаточно проста, но как бы GOTO - прямая дорога в ад.
0
castaway
Эксперт С++
4919 / 3027 / 372
Регистрация: 10.11.2010
Сообщений: 11,085
Записей в блоге: 10
Завершенные тесты: 1
08.06.2013, 18:23 #4
В конце функции вызывай вызывающую функцию.
0
DanilStudent
0 / 0 / 0
Регистрация: 30.05.2013
Сообщений: 19
08.06.2013, 18:26  [ТС] #5
А, зря панику развел, всё понял, там нужно с помощью цикла бесконечного.
0
Croessmah
Ушел
Эксперт CЭксперт С++
13563 / 7714 / 873
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 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;
}
0
08.06.2013, 18:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.06.2013, 18:41
Привет! Вот еще темы с ответами:

Возврат ссылки - C++
int &amp; function(int); Понятно для чего передают аргументы в функцию как указатели или ссылки.Но зачем функция возвращает ссылку? Чтобы...

Возврат значения С++ - C++
Hi people! Вот такое задание: 1) Реализовать заданную динамическую структуру данных, с которой можно работать через перегруженные...

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

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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