3 / 3 / 0
Регистрация: 29.07.2013
Сообщений: 82
1

возврат

30.09.2013, 15:48. Показов 674. Ответов 11
Метки нет (Все метки)

пример:

функция была выполнена с ошибкой, как сделать возврат на предыдущее функцию?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.09.2013, 15:48
Ответы с готовыми решениями:

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

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

возврат вектора из ф-ии
void func(std::vector<const char*>& ret) { ret.push_back("абв"); } int main() { ...

Возврат из функций
Подскажите, как переделать, чтобы прога возвращала из функций несколько значений (массив a от N и N...

11
Эксперт С++
2924 / 1273 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
30.09.2013, 15:49 2
Что значит "возврат"? Приведи пример кода.
0
Сгибальщик
42 / 42 / 4
Регистрация: 18.05.2013
Сообщений: 220
30.09.2013, 15:50 3
-J_O_K_E_R-, вызывать функцию в блоке try.
0
3 / 3 / 0
Регистрация: 29.07.2013
Сообщений: 82
30.09.2013, 15:51  [ТС] 4
Цитата Сообщение от CheshireCat Посмотреть сообщение
Что значит "возврат"? Приведи пример кода.

функция


if(swprintf_s(file_name,L"%d",i)!=-1){ ///}

else { возврат на предыдущуюю функцию }
0
Сгибальщик
42 / 42 / 4
Регистрация: 18.05.2013
Сообщений: 220
30.09.2013, 15:53 5
Цитата Сообщение от -J_O_K_E_R- Посмотреть сообщение
функция


if(swprintf_s(file_name,L"%d",i)!=-1){ ///}

else { возврат на предыдущуюю функцию }
в таком случае просто return.
0
3 / 3 / 0
Регистрация: 29.07.2013
Сообщений: 82
30.09.2013, 15:54  [ТС] 6
Цитата Сообщение от Бендерродригез Посмотреть сообщение
в таком случае просто return.

просто return без каких либо параметров?
0
Сгибальщик
42 / 42 / 4
Регистрация: 18.05.2013
Сообщений: 220
30.09.2013, 16:00 7
Цитата Сообщение от -J_O_K_E_R- Посмотреть сообщение
просто return без каких либо параметров?
С параметром, возвращаемым функцией. В той функции, что вызвала, должна быть в таком случае проверка на определённое возвращаемое значение.
Либо переключить какой-то глобальный ключ с false на true, после чего вернуть любое значение, а вызывающая функция проверяет не возвращаемое значение, а значение ключа.
0
3 / 3 / 0
Регистрация: 29.07.2013
Сообщений: 82
30.09.2013, 16:05  [ТС] 8
Цитата Сообщение от Бендерродригез Посмотреть сообщение
С параметром, возвращаемым функцией. В той функции, что вызвала, должна быть в таком случае проверка на определённое возвращаемое значение.
Либо переключить какой-то глобальный ключ с false на true, после чего вернуть любое значение, а вызывающая функция проверяет не возвращаемое значение, а значение ключа.


как это реализовать на практике

p.s. начинаю программировать на С++
0
Сгибальщик
42 / 42 / 4
Регистрация: 18.05.2013
Сообщений: 220
30.09.2013, 16:23 9
-J_O_K_E_R-,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
using std::cout;
 
bool key = false;
 
int SomeFunction1(){
    if(условие ошибки) return 999;
    ...
};
 
int SomeFunction2(){
    if(условие ошибки){
        return 999;
        key = true;
    }
    ...
};
 
int main(){
    int a = SomeFunction1();
    if(a == 999) cout << "ошибка";
    int b = SomeFunction2();
    if(key) cout << "ошибка";
    return 0;
}
Хотя лучше подожди, когда дойдёт дело до изучения исключений и их обработки.
0
3 / 3 / 0
Регистрация: 29.07.2013
Сообщений: 82
30.09.2013, 16:27  [ТС] 10
Цитата Сообщение от Бендерродригез Посмотреть сообщение
-J_O_K_E_R-,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
using std::cout;
 
bool key = false;
 
int SomeFunction1(){
    if(условие ошибки) return 999;
    ...
};
 
int SomeFunction2(){
    if(условие ошибки){
        return 999;
        key = true;
    }
    ...
};
 
int main(){
    int a = SomeFunction1();
    if(a == 999) cout << "ошибка";
    int b = SomeFunction2();
    if(key) cout << "ошибка";
    return 0;
}
Хотя лучше подожди, когда дойдёт дело до изучения исключений и их обработки.
самоучка я :-)
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
30.09.2013, 16:37 11
да тут без goto не обойтись...
1
3 / 3 / 0
Регистрация: 29.07.2013
Сообщений: 82
30.09.2013, 17:03  [ТС] 12
Цитата Сообщение от Tulosba Посмотреть сообщение
да тут без goto не обойтись...

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
wchar_t file_name[256]=L"\0";
wchar_t buffer[1024]=L"\0";
 
 
r2:
for (int i=999000;i<=1000000;i++){
    r1:
    if((swprintf_s(file_name,L"%d.txt",i))!=-1){
 
        if((swprintf_s(buffer,L"http://wap.***.ru/index.php?ma=hero-profile&heroID=%d%s",i,L"&p=27"))!=-1){
            
            
            wprintf_s(L"%s\n",buffer);
        
        }
 
        else { goto r1; } 
    
    }
 
    else { goto r2; } 
 
 
 
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.09.2013, 17:03
Помогаю со студенческими работами здесь

Возврат r-ссылки
Здравствуйте У меня вопрос, не могу понять почему так происходит Знаю, это бессмысленный код, он...

Возврат почему же?!
Народ помогите у меня функция почему то возвращает значение хочё сделать чек бокс для своеё игры...

Возврат указателя
Написать функцию возвращающую ссылку на элемент глобального массива. #include &lt;stdio&gt; #include...

Возврат памяти ОС
При вызове delete память возвращается в кучу. Но что если нужно вернуть её ОС? Например на...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru