19 / 19 / 2
Регистрация: 29.11.2009
Сообщений: 224
|
|||||||||||
1 | |||||||||||
Как передать функции значение int?06.02.2010, 02:35. Показов 3945. Ответов 16
Метки нет (Все метки)
Пытаюсь передать функции значение int, но не получается.
Синтаксически все правильно, но не компилируется. Как сделать так, шоб работало, НЕ меняя *& ? Вот ошибка:
0
|
06.02.2010, 02:35 | |
Ответы с готовыми решениями:
16
Как передать 0 в функцию типа f (int, int&) Как передать значение из функции как с помощю ссылки передать с функции значение F Как передать значение из одной функции в другую? |
4337 / 1506 / 101
Регистрация: 12.04.2009
Сообщений: 2,342
|
|
06.02.2010, 02:40 | 2 |
убери все звездочки
0
|
19 / 19 / 2
Регистрация: 29.11.2009
Сообщений: 224
|
|
06.02.2010, 02:45 [ТС] | 3 |
>> HIMen
Ты не понял, надо чтобы: 1. функция Factor работала с указателями 2. Передавать функции 3 значения int.
0
|
4337 / 1506 / 101
Регистрация: 12.04.2009
Сообщений: 2,342
|
|
06.02.2010, 02:48 | 4 |
Это ты определись что передавать: сcылки, указатели, указатели на ссылки (оО) или int?
Мне кажется, тебе нужно ссылки --- удали все звездочки
0
|
19 / 19 / 2
Регистрация: 29.11.2009
Сообщений: 224
|
|
06.02.2010, 02:51 [ТС] | 5 |
>> HIMen
Надо передать функции 3 значения типа int! Функция принимает 3 значения: int, и два указателя на адресы переменных. С двумя последними значениями функция должна работать как с указателями. Прототип функции: Factor(int, int* &, int* &); Вызов функции: int Var1, Var2, Var3; Factor(Var1, Var2, Var3);
0
|
4337 / 1506 / 101
Регистрация: 12.04.2009
Сообщений: 2,342
|
||||||
06.02.2010, 02:56 | 6 | |||||
на с++ не пишу, но помню что передача параметров бывает двух типов:
1. по значению (происходит копирование переменной) 2. по ссылке (переменная изменяется) В твоем очень странном коде, надо передавать по ссылке.
0
|
19 / 19 / 2
Регистрация: 29.11.2009
Сообщений: 224
|
|
06.02.2010, 03:00 [ТС] | 7 |
>> HIMen
Это легкий способ, но мне надо, чтоб функция работала с указателями! Проблема в передаче значения: Function(int* &, int* &) - работает, однако Function(int, int* &, int* &) - не работает!
0
|
4337 / 1506 / 101
Регистрация: 12.04.2009
Сообщений: 2,342
|
||||||
06.02.2010, 03:14 | 8 | |||||
0
|
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
|
|
06.02.2010, 11:01 | 9 |
OVERPOWER8, я не понимаю, зачем ты передаёшь указатель по ссылке
ведь ты не изменяешь адрес указателя в функции.
0
|
19 / 19 / 2
Регистрация: 29.11.2009
Сообщений: 224
|
|
06.02.2010, 11:34 [ТС] | 10 |
>> zim22
Factor(intOne, intTwo, intThree); а не Factor(intOne, &intTwo, &intThree); и чтобы функция работала непосредственно с указателями. (так надо, я лишь структуру описал).
0
|
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
|
||||||
06.02.2010, 11:45 | 11 | |||||
если я не ошибаюсь, то твой код не должен компилиться.
т.к. 2 и 3 параметр функции - это указатели. а ты передаёшь туда int.
0
|
19 / 19 / 2
Регистрация: 29.11.2009
Сообщений: 224
|
|
06.02.2010, 12:22 [ТС] | 12 |
Код должен работать, т. к. функция извлекает адрес переменной int, и присваивает его указателю. ПОЧЕМУ НЕ должно компилироваться!?
0
|
06.02.2010, 13:54 | 13 | |||||
вот так будет работать:
зачем все усложнять? тут думаешь, как сложные вещи попроще и попонятнее представить, а тут, похоже, противоположная задача поставлена: напишу 2Х2 чтоб ни одна зараза не поняла как оно устроено.
0
|
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
|
|
06.02.2010, 14:57 | 14 |
0
|
19 / 19 / 2
Регистрация: 29.11.2009
Сообщений: 224
|
|
06.02.2010, 16:31 [ТС] | 15 |
0
|
06.02.2010, 17:13 | 16 | |||||
так это и коню было понятно, что параметр, который ф-я будет менять, нужно объявлять или ссылкой, или указателем, а не тем кандибобером, как в твоем первом примере. ты ведь нигде не спрашивал, как люди делают такие вещи. ты спросил, почему твоя абракадабра не работает
а то имей ввиду, что самый прямой способ - это вот так:
0
|
4 / 4 / 0
Регистрация: 06.02.2010
Сообщений: 13
|
|||||||||||
06.02.2010, 17:51 | 17 | ||||||||||
Добавлено через 22 минуты Тогда твой пример реализуется следующим образом:
0
|
06.02.2010, 17:51 | |
06.02.2010, 17:51 | |
Помогаю со студенческими работами здесь
17
Передать массив чисел типа Int функции Как значение вектора передать из одной функции в другую? Как передать значение функции класса в другую функцию? Как передать аргументу в функции-члене значение переменной Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |