10 / 10 / 1
Регистрация: 04.11.2009
Сообщений: 147
|
||||||
1 | ||||||
Получение результата как аргумента, передаваемого по ссылке07.10.2012, 14:26. Показов 1918. Ответов 12
Проблема в том, что мне надо получить значение функции через аргумент, через строковый аргумент. Я конкретно запуталась с тем, что мне нужно передавать в качестве параметра функции, чтобы в итоге получить результат в передаваемой переменной.
0
|
07.10.2012, 14:26 | |
Ответы с готовыми решениями:
12
Как правильно реализовать проверку типа передаваемого аргумента в шаблонной функции? Получение значений функцией (что происходит при передаче аргумента по значению/ссылке) Фукнкция замены передаваемого аргумента Узнать тип объекта передаваемого по ссылке |
07.10.2012, 14:45 | 2 |
Намекаю - char*, конечно, указатель на первый символ в массиве элементов типа char, но это отнюдь не значит, что с его помощью нельзя передавать текст.
Сперва выделяй память под массив, потом передавай указатель на него в функцию, а в ней уж пиши в этот массив сколько угодно, только размер не превышай, получишь access violation.
0
|
10 / 10 / 1
Регистрация: 04.11.2009
Сообщений: 147
|
|
07.10.2012, 14:59 [ТС] | 3 |
Вот такой вариант, не очень для меня желательный (потому что не хочется выделять лишнюю память, а я знать не знаю, сколько мне вернут до вызова) тоже не отрабатывает...
Получаем char[] (или char*). Передаём char[size]. Выдаёт пустоту либо нечто неизвестное... Я же правильно Вас поняла?
0
|
07.10.2012, 15:13 | 4 | |||||
Ладно, можно и в функции выделять память, хоть это и не шибко красиво... надеюсь, так будет понятно:
1
|
576 / 559 / 47
Регистрация: 16.12.2011
Сообщений: 1,389
|
|
07.10.2012, 15:18 | 5 |
А почему std::string не используете? этот тип приятнее в использовании со строками
0
|
10 / 10 / 1
Регистрация: 04.11.2009
Сообщений: 147
|
|
07.10.2012, 15:23 [ТС] | 6 |
Премного благодарна) Значит я все-таки неправильно делала, хотя мыслила более-менее верно)
0
|
10 / 10 / 1
Регистрация: 04.11.2009
Сообщений: 147
|
||||||
08.10.2012, 21:13 [ТС] | 7 | |||||
Недолго я радовалась...Работало недолго(возможно я что-то и исправила, но возвращение того, что было не помогло) и начало вылезать "Ошибка сегментирования(core dumped). Переделала под std::string. Отрабатывает с присвоением константной строки, но ни в какую не хочет мне возвращать значение массива и выдает ту же самую ошибку... Ну, что ему не нравится?((
Я решила, что тем, кто будет пользоваться моими функциями привычнее будет с char*, но они сказали, чтобы я переделала под std::string )
0
|
10 / 10 / 1
Регистрация: 04.11.2009
Сообщений: 147
|
|
08.10.2012, 22:03 [ТС] | 9 |
MYSQL_ROW mysql_row
Представляет собой массив строк. Возвращает char* как я понимаю. (собственно вывод mysql_row[0] с помощью printf (%s) не вызывает проблем. Вру...Раньше не вызывал... Сейчас проверила - ошибка сегментации. Добавлено через 30 минут Дело было в том, что у меня отсутствовала требуемая запись, а NULL он мне естественно записывать не хотел) Спасибо, я даже не подумала, что проблема с результатом.
0
|
10 / 10 / 1
Регистрация: 04.11.2009
Сообщений: 147
|
|||||||||||||||||||||
19.10.2012, 13:19 [ТС] | 11 | ||||||||||||||||||||
Думаю можно задать вопрос в этой же теме) Задача та же самая...Передача значения по ссылке. Только теперь через rpc. Sun-rpc. есть код клиента, который непосредственно вызывает модуль, функция на клиенте отсылает данные серверу, сервер выполняет функцию, используя заранее заготовленный модуль и дальше по цепочке все посылают обратно данные.
такой вызов:
Добавлено через 16 минут Ошибочка вышла, в серверной части значение как раз таки сохраняется. То есть после выполнение функции Sever2 = нужному значению,а вот уже на клиенте ничего нет. Добавлено через 12 часов 56 минут Уже не надо, разобралась)
0
|
10 / 10 / 1
Регистрация: 04.11.2009
Сообщений: 147
|
|
19.10.2012, 18:02 [ТС] | 13 |
Там такое явное решение) Объявить структуру результата в .x, а не просто int. И передавать в ней все, что нужно. Не сообразила вначале)
0
|
19.10.2012, 18:02 | |
19.10.2012, 18:02 | |
Помогаю со студенческими работами здесь
13
Лямбда выражение в качестве передаваемого аргумента функции Выводить поле либо в Верхнем регистре либо в нижнем, в зависимости от передаваемого аргумента Передача аргумента по ссылке Передача аргумента по ссылке MuLISP использование результата в качестве аргумента Возврат результата из функции через параметр по ссылке Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |