74 / 37 / 3
Регистрация: 23.09.2012
Сообщений: 408
|
|
1 | |
Возвращаемое значение26.10.2012, 21:17. Показов 977. Ответов 10
Метки нет Все метки)
(
Как сделать так, что бы в зависимости от подаваемых аргументов, функция возвращала разные значения?
Пробовал через шаблоны, но не получилось.
0
|
|
26.10.2012, 21:17 | |
Ответы с готовыми решениями:
10
Классы. Возвращаемое значение Возвращаемое ссылочное значение Возвращаемое значение из класса Возвращаемое значение функции |
Нет ТЗ - давай досвидания
746 / 377 / 64
Регистрация: 01.12.2011
Сообщений: 2,250
|
|
26.10.2012, 21:21 | 2 |
Ваш вопрос не корректен. Попробуйте по точнее описать суть проблемы.
Если у вас например аргумент принимает тип char, и нужно, чтоб функция тоже возвращала char, то через шаблоны. Если не получается, то залейте проект. Разберёмся. Подскажем. ![]()
0
|
2148 / 1659 / 700
Регистрация: 27.07.2012
Сообщений: 4,936
|
||||||
26.10.2012, 21:23 | 3 | |||||
Ну через шаблоны можно решить, только чуть хитрее, чем в лоб.
0
|
74 / 37 / 3
Регистрация: 23.09.2012
Сообщений: 408
|
|
26.10.2012, 21:39 [ТС] | 4 |
Metallnote, пардон, немного неправильно мысль выразил.
"Что бы возвращались разные типы" Добавлено через 5 минут John Prick, Ваш пример делает немного не то. Имелось ввиду: подаешь в функцию 'a' - возвращает A, где A - класс подаешь 'b' - возвращает B подаешь 'c' - возвращает C
0
|
2148 / 1659 / 700
Регистрация: 27.07.2012
Сообщений: 4,936
|
|
26.10.2012, 21:50 | 5 |
А. Ну это фабрика типичная. В двух словах тут не объяснить.
![]() Добавлено через 6 минут Хотя подумал тут. Не такая уж и типичная... Добавлено через 1 минуту Возвращаемый функцией тип должен быть так или иначе определён на этапе компиляции. А здесь его нужно выбирать динамически. В С++ такое либо невозможно, либо я таких фокусов не знаю.
0
|
74 / 37 / 3
Регистрация: 23.09.2012
Сообщений: 408
|
|
26.10.2012, 22:00 [ТС] | 6 |
John Prick, А если на этапе компиляции известны типы, которые нужно возвращать. Но как сделать отсев по если 'a' то одно, если 'b' то другое, я не знаю.
0
|
2148 / 1659 / 700
Регистрация: 27.07.2012
Сообщений: 4,936
|
|
26.10.2012, 22:08 | 7 |
Тут ещё другая проблема: не бывает перегрузок функции, отличающихся только типом возвращаемого значения.
0
|
574 / 557 / 47
Регистрация: 16.12.2011
Сообщений: 1,389
|
|
26.10.2012, 22:13 | 8 |
Kgfq, классы А,В и С унаследованы от одного общего класса или абсолютно различны?
0
|
2148 / 1659 / 700
Регистрация: 27.07.2012
Сообщений: 4,936
|
||||||
26.10.2012, 22:14 | 9 | |||||
Возможно вам подойдёт вариант, когда в функцию будет передаваться доп.параметр того типа, который хотите вернуть, либо как-то его определяющий.
0
|
74 / 37 / 3
Регистрация: 23.09.2012
Сообщений: 408
|
|
26.10.2012, 22:23 [ТС] | 10 |
I.M., в том-то и дело, что различны
0
|
574 / 557 / 47
Регистрация: 16.12.2011
Сообщений: 1,389
|
|
26.10.2012, 22:25 | 11 |
Kgfq, тогда это ошибка проектирования. Меняйте архитектуру пока еще есть время
Добавлено через 1 минуту Или используйте boost::any или boost::variant
0
|
26.10.2012, 22:25 | |
Помогаю со студенческими работами здесь
11
Возвращаемое значение делигата Возвращаемое значение функции
Возвращаемое значение функции Значение, возвращаемое функцией (C++) Реакция на возвращаемое значение Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |