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

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

Войти
Регистрация
Восстановить пароль
 
НубаС++
1 / 1 / 1
Регистрация: 25.02.2012
Сообщений: 115
#1

Возвращаемые значения функции - C++

08.09.2012, 23:49. Просмотров 902. Ответов 11
Метки нет (Все метки)

Есть функция, которая должна вернуть в программу значение, но что то не так.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int StartInfo(int FirstWidth,int FirstHeight)
{
    printf ("Write width: ");
    scanf("%d",&FirstWidth);
    printf ("Write height: ");
    scanf("%d",&FirstHeight);
    return FirstHeight;
}
int main(int argc, char** argv)
{
    StartInfo(FirstWidth, FirstHeight);
    printf ("%d", FirstHeight);
}
Если выводить FirstHeight в функции получается число которое я писал, а если в программе, то "0"
Может я дурак, поясните пожалуйста че не так то?
И еще, а как вернуть 2 значение функци?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.09.2012, 23:49     Возвращаемые значения функции
Посмотрите здесь:

возвращаемые значения функции шаблонного класса A и A<T> - C++
первый листинг template &lt;typename T&gt; class A { public: T a; A&amp; f()

можно как то сравнить возвращаемые значения этими функциями(разнопотоковыми)? функции на разных потоках - C++
можно как то сравнить возвращаемые значения этими функциями? и например если(они равны) {то завершить круг цикла и перейти к следующему}...

функция возвращает int, возвращаемые значения определены в макросах, как сразу выводить определённые макросы? - C++
Друзья! Есть какой-нибудь способ без if-else? Ну то есть вот код: #define odin 1 ////////////всякий код int f () {retutn...

Для каждого значения A вывести все значения функции попдающие в интервал от C до D - C++
Мне дали вот такое условие задачи: Y=f(x; a) X1&lt;=x&lt;=x2, x3 A1&lt;=a&lt;=a2, a3 Для каждого значения A вывести все значения функции...

Значения функции - C++
Суть задания такова: используя итерационные формулы, посчитайте значения функции. Возникло пару вопросов. 1) Что такое итерационные...

значения функции - C++
Необходимо вывести на экран значения функции Y(x) для х изменяющихся от xn до xk с шагом h равным h=(xk-xn)/10. при Xn=0,1 X1=1 и...

Вычислить значения функции - C++
Составьте программу и модули с функциями для выполнения следующих заданий. 1. Вычислить значения функции y = f(x) и ее производной для...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Герц
524 / 341 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
08.09.2012, 23:52     Возвращаемые значения функции #2
Нигде не вижу объявлений FirstWidth, FirstHeight.
Твоя функция принимает параметры по значению, если ты надеешься получить через них какие-то результаты - передавай по ссылке.
Чтобы вернуть 2 значения - заворачивай их в структуру, класс, std :: pair или во что-то еще.
ValeryS
Модератор
6542 / 5008 / 461
Регистрация: 14.02.2011
Сообщений: 16,653
08.09.2012, 23:55     Возвращаемые значения функции #3
Цитата Сообщение от НубаС++ Посмотреть сообщение
Может я дурак, поясните пожалуйста че не так то?
а то что при такой передаче
Цитата Сообщение от НубаС++ Посмотреть сообщение
int StartInfo(int FirstWidth,int FirstHeight)
{
в функции образуется копия твоих параметров и вся работа идет с ними
при выходе они благополучно забываются
или передавай по ссылке или указателю
или в твоем случае
C++
1
printf ("%d",StartInfo(FirstWidth, FirstHeight));
тогда напечатается возвращаемое значение
ты же его нигде не запоминаешь
Цитата Сообщение от НубаС++ Посмотреть сообщение
StartInfo(FirstWidth, FirstHeight);
Добавлено через 1 минуту
Цитата Сообщение от Герц Посмотреть сообщение
Чтобы вернуть 2 значения - заворачивай их в структуру, класс, std :: pair или во что-то еще.
т.е ссылки и указатели отменили
Герц
524 / 341 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
08.09.2012, 23:58     Возвращаемые значения функции #4
т.е ссылки и указатели отменили
Возвращаемым значением называется исключительно то, что приходит от return'a. Ref и out параметров ты можешь напихать сколько угодно, но они, строго говоряЮ не будут возвращаемыми значениями.
P.S.
Цитата Сообщение от Герц Посмотреть сообщение
Твоя функция принимает параметры по значению, если ты надеешься получить через них какие-то результаты - передавай по ссылке.
ValeryS
Модератор
6542 / 5008 / 461
Регистрация: 14.02.2011
Сообщений: 16,653
08.09.2012, 23:59     Возвращаемые значения функции #5
НубаС++,
конкретно твой случай
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void StartInfo(int *FirstWidth,int *FirstHeight)
{
    printf ("Write width: ");
    scanf("%d",FirstWidth);
    printf ("Write height: ");
    scanf("%d",FirstHeight);
 
}
int main(int argc, char** argv)
{
   int firstWidth, firstHeight;
 
   StartInfo(&firstWidth, &firstHeight);
    printf ("%d  %d", firstWidth,firstHeight);
 
 return 0;
}
Герц
524 / 341 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
09.09.2012, 00:01     Возвращаемые значения функции #6
Зачем же было мудрить с указателями, если достаточно ссылок?
C++
1
int StartInfo( int& FirstWidth,int& FirstHeight );
И ошибку допустил:
C++
1
2
    scanf("%d",&FirstHeight); // scanf передается int** вторым параметром
    return FirstHeight; //FirstHeight имеет тип int*, функция возвращает int
ValeryS
Модератор
6542 / 5008 / 461
Регистрация: 14.02.2011
Сообщений: 16,653
09.09.2012, 00:02     Возвращаемые значения функции #7
Цитата Сообщение от Герц Посмотреть сообщение
Возвращаемым значением называется исключительно то, что приходит от return'a. Ref и out параметров ты можешь напихать сколько угодно, но они, строго говоряЮ не будут возвращаемыми значениями.
Нам "шашечки или ехать"
ТС интересует как в функции ввести два значения которые можно использовать в другом месте
а вопросы терминологии это уже другой уровень знания
Герц
09.09.2012, 00:03
  #8

Не по теме:

Так я ответил четко на поставленный вопрос :-)

ValeryS
Модератор
6542 / 5008 / 461
Регистрация: 14.02.2011
Сообщений: 16,653
09.09.2012, 00:03     Возвращаемые значения функции #9
Цитата Сообщение от Герц Посмотреть сообщение
И ошибку допустил:
ошибку уже поправил просто копипастил исходный код и не доглядел
я еще и тип функции исправил
Герц
09.09.2012, 00:04
  #10

Не по теме:

Нубас, а OpenGL и 3ds не покатили? :-) Я же вроде объяснил, как что делать там

ValeryS
09.09.2012, 00:06
  #11

Не по теме:

Цитата Сообщение от Герц Посмотреть сообщение
Так я ответил четко на поставленный вопрос :-)
ты на уровень то вопрошающего гляди
он не может задать правильно вопрос потому что не обладает необходимыми знаниями
а ты ему сразу структуры

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.09.2012, 17:07     Возвращаемые значения функции
Еще ссылки по теме:

Вычисление значения функции - C++
Вычислить значения функции f(x)=(x^2-1)/x с интервалом (0,5) с шагом 0,25. 1) Сумма всех нечетных чиcел функции f(x) 2) Значение...

Вывод значения из функции - C++
#include &lt;iostream&gt; using namespace std; int Var(int x, int y) { int z; z=x; x=y; y=z; return x; return y;

Возврат значения из функции - C++
Добрый вечер. Вопрос следующий , как возвратить из функции create последнее значение ЛС , чтоб в дальнейшем использовать в main. ...

Вычисление значения функции - C++
Нужно составить программу для вычисления значения функции. Программа уже готова, но при попытке запуска вылезла ошибка: Unit1.cpp(38):...

Вычисление значения функции - C++
Составить программу вычисления значения функции y(x) при произвольном значении х y = \frac{(1 + cos(x))}{ {3}^{x} + \sqrt{x} - {x}^{x} }...


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

Или воспользуйтесь поиском по форуму:
НубаС++
1 / 1 / 1
Регистрация: 25.02.2012
Сообщений: 115
09.09.2012, 17:07  [ТС]     Возвращаемые значения функции #12
Свем спасибо, всем поставил плюсы.
Герц, OpenGL я щас изучаю, щас уже перешол на управление мышью, а для каждого экрана свои координаты нужны, вот для этого мне и надо firstWidth,firstHeight)
Yandex
Объявления
09.09.2012, 17:07     Возвращаемые значения функции
Ответ Создать тему
Опции темы

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