Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.12.2010, 23:50   #1
CodeNOT
Форумчанин
 
Аватар для CodeNOT
 
Регистрация: 08.11.2010
Сообщений: 593
По умолчанию Непонятки с return

Доброго времени суток, столкнулся с проблемой, что после работы функции пытаюсь вернуть несколько значений, а возвращает она только последнее. Может я где-то туплю? Подскажите пожалуйста!
Вот код функции:
Код:
String GetBooks::SearchBook(int n,String search){
int i=0;
int flag=0;
String nn="",a="",ii="",y="",s="",k="";
for(i=0;i<n;i++){
                if(books[i]->name==search.c_str()||books[i]->author==search.c_str()||books[i]->izdat==search.c_str()||books[i]->year==search.c_str()||books[i]->str==search.c_str()||books[i]->kol==search.c_str()){
                        flag=1;
                        nn=books[i]->name.c_str();
                        a=books[i]->author.c_str();
                        ii=books[i]->izdat.c_str();
                        y=books[i]->year.c_str();
                        s=books[i]->str.c_str();
                        k=books[i]->kol.c_str();
                }
        }
if(flag==1){
        return nn,a,ii,y,s,k;
}
if(flag==0){
        return "Книга не найдена в базе";
}

}
CodeNOT вне форума Ответить с цитированием
Старый 03.12.2010, 23:54   #2
CodeNOT
Форумчанин
 
Аватар для CodeNOT
 
Регистрация: 08.11.2010
Сообщений: 593
По умолчанию

Все понял. тупанул, надо было возвращать так: return nn+a+ii+y+s+k;
CodeNOT вне форума Ответить с цитированием
Старый 03.12.2010, 23:56   #3
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Код:
return nn,a,ii,y,s,k;

Мама мия!! Вы где такой бред взяли???
Функция в C++ всегда возвращает строго ОДНО значение! И в данном случае она возвращает значение (nn, a, ii, y, s, k), что, согласно правилам работы оператора "запятая" возвращает самый правый операнд.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по return fs444 Общие вопросы C/C++ 9 20.03.2010 15:07
return 1 в void функции ! интеграл Помощь студентам 6 17.03.2010 22:00
return и echo dedyshka PHP 5 31.01.2010 16:58
Рекурсия - не срабатывает return iankov PHP 2 24.02.2009 16:31