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

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

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

Передача значения по ссылке - C++

24.10.2012, 22:37. Просмотров 496. Ответов 6
Метки нет (Все метки)

Даны два файла:
fun.cpp:
C++
1
2
3
4
5
6
7
8
9
10
11
#include <math.h>
double summa(float x, float eps, double& psl, int& k) {
double s=0, sl=1/x, psl=0; int k=0;
while (fabs(sl)>=eps) {
    s=s+sl;
    psl=sl;
    sl=sl*(x*x*(2*k-1))/(-2*(k+1)*(2*k+1)*(2*k+3));
    k++;
    }
return s;
}
И main.cpp:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <conio.h>
using namespace std;
double summa(float x, float eps, double& psl, int& k);
void main () {
setlocale (LC_ALL, "Russian");
float x, eps;
double sum;
cout<<"Введите x: ";
cin>>x;
cout<<"Введите эпсилон: ";
cin>>eps;
sum = summa(x, eps, psl, k);
cout<<"Сумма слагаемых: "<<sum<<endl<<"Последнее слагаемое, включенное в сумму: "<<psl<<endl<<"Количество слагаемых: "<<k<<endl;
getch();
}
Как в функции main получить значения psl и k, которые передаются по ссылке? В файле main.cpp выдает ошибку:"переменные psl и k не определены", а если определить, то тоже ошибка.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.10.2012, 22:37     Передача значения по ссылке
Посмотрите здесь:

Передача значения по ссылке - C++
1. Объявите (в отельном заголовочном файле) и реализуйте (в другом файле) процедуры (они не возвращают значений!) согласно варианту. 2....

Передача значения переменной по ссылке - C++
Есть событие, которое происходит в методе someMethod, при выполнении которого программа вылетает. Методу someMethod нужно получить...

Передача параметра по ссылке - C++
Всем здравствуйте. Други, помогите разобраться. Сидю :) вникаю в работу указателей и памяти, паралельно пытаюсь написать велосипед, в...

Передача по константной ссылке - C++
void print(const std::string strs, const char c); void print(const std::vector&lt;std::string&gt;&amp; vstrs, const char c); Нужно организовать...

Передача указателя по ссылке - C++
Так печатается &quot;12&quot; #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; void somefunction(int*&amp;); int...

Передача параметра по ссылке - C++
Всем доброго времени суток. Понимаю что вопрос покажется очень глупым, но я уже несколько часов бьюсь и не могу решить эту элементарную...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
13056 / 7319 / 817
Регистрация: 27.09.2012
Сообщений: 18,059
Записей в блоге: 3
Завершенные тесты: 1
24.10.2012, 22:46     Передача значения по ссылке #2
Почитайте статьи по теме "Раздельная компиляция"
а так же
Заголовочные файлы
sword7i
3 / 3 / 0
Регистрация: 25.09.2012
Сообщений: 92
24.10.2012, 23:36  [ТС]     Передача значения по ссылке #3
Почитал, но что-то не доходит до меня

Добавлено через 32 минуты
Мне непонятно как main должна получить значения переменных psl и k, значения которых передаются по ссылке из функции summa.
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
24.10.2012, 23:43     Передача значения по ссылке #4
Цитата Сообщение от sword7i Посмотреть сообщение
Мне непонятно как main должна получить значения переменных psl и k, значения которых передаются по ссылке из функции summa.
Объявляете переменные соответствующих типов и передаете их в функцию, после работы функции в этих переменных будут результаты работы функции.
sword7i
3 / 3 / 0
Регистрация: 25.09.2012
Сообщений: 92
24.10.2012, 23:58  [ТС]     Передача значения по ссылке #5
Цитата Сообщение от kazak Посмотреть сообщение
Объявляете переменные соответствующих типов и передаете их в функцию, после работы функции в этих переменных будут результаты работы функции.
Когда определяю данные переменные в ф-и main,
Выдает ошибку "переопределение формального параметра "num" "
"переопределение формального параметра "k" "
Croessmah
Модератор
Эксперт CЭксперт С++
13056 / 7319 / 817
Регистрация: 27.09.2012
Сообщений: 18,059
Записей в блоге: 3
Завершенные тесты: 1
25.10.2012, 00:03     Передача значения по ссылке #6
C++
1
2
double summa(float x, float eps, double& psl, int& k) {
double s=0, sl=1/x, psl=0; int k=0;
У Вас переопределяются переменные
C++
1
2
double psl=0; 
int k=0;
уберите их из объявления переменных:
C++
1
2
psl=0; 
k=0;
Добавлено через 1 минуту
А в функции main добавьте
C++
1
2
double psl=0; 
int k=0;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.10.2012, 00:09     Передача значения по ссылке
Еще ссылки по теме:

Передача вектора по ссылке - C++
Как передать в функцию вектор по ссылке/указателю, чтобы не происходило его постоянное копирование?

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

Передача вектора по ссылке - C++
Делаю задание Страуструпа на шаблоны, но столкнулся с тем что передавая вектор по ссылке он передаётся не по ссылке (такая вот тавтология)....

Передача параметров по ссылке - C++
Стоит ли передавать все параметры (кроме скалярных и указателей) по сслыке? Т.е. вместо void doSomething(const int _count, const...


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

Или воспользуйтесь поиском по форуму:
sword7i
3 / 3 / 0
Регистрация: 25.09.2012
Сообщений: 92
25.10.2012, 00:09  [ТС]     Передача значения по ссылке #7
Цитата Сообщение от Croessmah Посмотреть сообщение
C++
1
2
double summa(float x, float eps, double& psl, int& k) {
double s=0, sl=1/x, psl=0; int k=0;
У Вас переопределяются переменные
C++
1
2
double psl=0; 
int k=0;
уберите их из объявления переменных:
C++
1
2
psl=0; 
k=0;
Добавлено через 1 минуту
А в функции main добавьте
C++
1
2
double psl=0; 
int k=0;
Спасибо ОГРОМНОЕ! Помогло, я понял свою ошибку.
Yandex
Объявления
25.10.2012, 00:09     Передача значения по ссылке
Ответ Создать тему
Опции темы

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