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

Как вернуть результат функции по ссылке? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
myriota
0 / 0 / 0
Регистрация: 30.11.2012
Сообщений: 2
30.11.2012, 07:48     Как вернуть результат функции по ссылке? #1
подскажите пожалуйста как вернуть значение "o" через ссылку
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
float v(int& st1_alias,int& storona2,int& ygol)
{
      float o;
      o=st1_alias*storona2*0.5*sin(ygol*PI/180);
      return o;
      }
 
int main()
{
    int storona1,storona2,ygol;  //это обычная переменная,при этом r,h,V-объект типа float
    float V;
    int& st1_alias = storona1;  //объявляем ссылку r_alias(ссылается на r)
    int& st2_alias = storona2;
    int& y_alias = ygol;
    cout<<"vvedite 1 storony  "; cin>>storona1;
    cout<<"vvedite 2 storony  "; cin>>storona2;
    cout<<"vvedite ygol  "; cin>>ygol;
    V=v(st1_alias,st2_alias,y_alias);
    cout<<"S =  "<<V;
    getch(); //задежка экрана
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.11.2012, 07:48     Как вернуть результат функции по ссылке?
Посмотрите здесь:

Как вернуть значение функции C++
Что вернуть по ссылке, если объект функцией поиска не найден? C++
C++ Как вернуть значение результат работы функции в переменную?
Как сделать так чтобы при каждом выделении памяти в методе была возможность ее очистить и вернуть результат? C++
Как вернуть массив из функции? C++
C++ Как вернуть массив из функции?
C++ Как вернуть значение функции в С++
C++ Как вернуть массив из функции?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
30.11.2012, 08:17     Как вернуть результат функции по ссылке? #2
C++
1
2
3
4
5
6
float & v(int& st1_alias,int& storona2,int& ygol)
{
float o;
o=st1_alias*storona2*0.5*sin(ygol*3.14/180);
return o;
}
Учтите, что o - это временный объект
Герц
523 / 340 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
30.11.2012, 11:32     Как вернуть результат функции по ссылке? #3
Учтите, что o - это временный объект
И делать так уж точно нельзя, это undefined behaviour.
По ссылке возвращать стоит только объекты, созданные в куче, либо *this.
Yandex
Объявления
30.11.2012, 11:32     Как вернуть результат функции по ссылке?
Ответ Создать тему
Опции темы

Текущее время: 04:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru