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

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

Войти
Регистрация
Восстановить пароль
 
mind66
3 / 3 / 0
Регистрация: 27.09.2009
Сообщений: 41
#1

return из функции более одного элемента как это сделать - C++

12.05.2010, 15:07. Просмотров 945. Ответов 7
Метки нет (Все метки)

C++
1
2
3
4
5
    struct
    {
        string train_string;
        int locomotiv;
    }train[n];

C++
1
2
3
4
5
6
7
8
9
10
11
    if(index < n)
    {
        return train[index].train_string;
        return train[index].locomotiv;
    }
    else
    {
 
        return "Такого не существует";
        return 3;
    }
это в функции как это принять?
у меня получается что он возвращает только 1 элемент из 2х.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2010, 15:07     return из функции более одного элемента как это сделать
Посмотрите здесь:

Из функции вернуть более одного значения - C++
У меня есть функция: code(int y, int z){ int g=y+z; int f=y*z; return g,f; } main(){ int sum=code(5,15); } Как прописать...

Найти максимальное из чисел встречающихся в матрице более одного раза. Сделать используя указатели и классы - C++
Ребята..помогите,пожалуйста.Надо решить задачу,а никак не выходит(даже не знаю..прочитала в книге все про указатели и не пойму как...

Не работает передача объекта из одного класса в другой через return - C++
Есть 2 объекта класс Reading ,text и line,которые посредством методов std::string outstr() std::string outch() соответственно должны...

не удается передать объект из одного класса в другой посредством return - C++
есть класс Reading,в котором находится два объекта типа string :text и line,их я передаю с помощью двух аналогичных методов std::string...

Исходники Boost, как пособие для изучения C++ на более продвинутом уровне: хорошая ли это идея? - C++
Исходники Boost, как пособие для изучения C++ на более продвинутом уровне: хорошая ли это идея?

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tyoma
51 / 51 / 8
Регистрация: 12.05.2010
Сообщений: 140
Завершенные тесты: 3
12.05.2010, 15:50     return из функции более одного элемента как это сделать #2
Ну как я понимаю как только функция возвращает значение, она сразу завершается, для передачи нескольких элементов я думаю надо функцией возвращать структуру в данном случае.

А просто так вернуть несколько различных элементов я не знаю как.
Mur3ik
102 / 102 / 4
Регистрация: 12.05.2010
Сообщений: 232
12.05.2010, 15:55     return из функции более одного элемента как это сделать #3
Цитата Сообщение от Tyoma Посмотреть сообщение
...как только функция возвращает значение, она сразу завершается...
это да,

C++
1
2
3
4
5
6
7
 
       else
        {
 
                return "Такого не существует";
                return 3;
        }
исправить на
C++
1
2
3
4
5
6
7
8
 
       else
        {
             return 3;
        }
//потом в майне
if(func==3)
{cout<<"Такого не существует";}
или просто тупо вывести в функции... ведь значение
"Такого не существует";
больше нигде использовать не надо... тогда
C++
1
2
3
4
5
6
7
 
       else
        {
 
                cout<<"Такого не существует";
                return 3;
        }
mind66
3 / 3 / 0
Регистрация: 27.09.2009
Сообщений: 41
12.05.2010, 15:59  [ТС]     return из функции более одного элемента как это сделать #4
да вы правильно понимаете, и точно такая же структура принимает данные но я не знаю как это реализовать



пытаюсь передать от структуры к структуре:

error C2679: binary '=' : no operator found which takes a right-hand operand of type 'int' (or there is no acceptable conversion)
Tyoma
51 / 51 / 8
Регистрация: 12.05.2010
Сообщений: 140
Завершенные тесты: 3
12.05.2010, 16:06     return из функции более одного элемента как это сделать #5
Ну можно и просто вывести, но выше:

C++
1
2
3
4
        {
                return train[index].train_string;
                return train[index].locomotiv;
        }
Вот тут функция вернет только train[index].train_string а до другой переменной не дойдет...

Добавлено через 2 минуты
Сделайте тип функции - название структуры, и возвращайте полностью структуру а не отдельные ее данные
mind66
3 / 3 / 0
Регистрация: 27.09.2009
Сообщений: 41
12.05.2010, 16:06  [ТС]     return из функции более одного элемента как это сделать #6
а можно как то передавать в return более одного элемента и как это делается?
&Alex&
19 / 19 / 1
Регистрация: 21.03.2010
Сообщений: 221
12.05.2010, 16:12     return из функции более одного элемента как это сделать #7
Цитата Сообщение от mind66 Посмотреть сообщение
а можно как то передавать в return более одного элемента и как это делается?
Нет. С помощью return можно возвратить только одно значение.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.05.2010, 16:14     return из функции более одного элемента как это сделать
Еще ссылки по теме:

Как можно сделать программу более компактнее - C++
решил использовать новый способ в программе. так вот как можно этот код сделать болие компактнее: #include &lt;iostream&gt; #include &lt;string&gt;...

как это сделать - C++
помогите, погибаю!!! тема: заставка(screan sever)? сменяющая картинки из списка особенности: поддержка эффектов смены, формирование...

Как это сделать? - C++
Предположим, есть некоторый класс, например, TTrigonometricComplex и я хочу сделать нём функции, которые будут доступны в левой части...

как это сделать - C++
вы мне можете помочь, никак не могу понять как это вбить в СИ??? &quot;x-x^/3!+x^/5!+.. . + x^^&quot;'^^V(2n + l)! Функция sh(x) &quot; как это...


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

Или воспользуйтесь поиском по форуму:
Tyoma
51 / 51 / 8
Регистрация: 12.05.2010
Сообщений: 140
Завершенные тесты: 3
12.05.2010, 16:14     return из функции более одного элемента как это сделать #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
struct str {
    int n;
    char *a;
};
 
str p;
 
str func(str p) {
    p.n = 123;
    p.a = "123123";
    return p;
}
 
int main() {
    str n;
    n = func(p);
    cout << n.a << " " << n.n;
        return 0;
}
вот например в данном примере я возвращаю структуру функцией func, а потом другую структуру вывожу.
Yandex
Объявления
12.05.2010, 16:14     return из функции более одного элемента как это сделать
Ответ Создать тему
Опции темы

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