быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
|
||||||
1 | ||||||
функция возвращает int, возвращаемые значения определены в макросах, как сразу выводить определённые макросы?12.11.2011, 23:23. Показов 4069. Ответов 55
Метки нет (Все метки)
Друзья! Есть какой-нибудь способ без if-else? Ну то есть вот код:
0
|
12.11.2011, 23:23 | |
Ответы с готовыми решениями:
55
Как функция возвращает значение int? Макросы в эксель!Ребята необходимо разобраться в макросах! Функция (int) возвращает ноль Нестандартные заранее определенные макросы C++. Как посмотреть? |
4773 / 2582 / 894
Регистрация: 29.11.2010
Сообщений: 5,590
|
|
13.11.2011, 14:27 | 41 |
Попробуйте показать пример кода, который бы вас устроил. Пусть он синтаксически будет не корректен, но будет понятно, о чем речь.
0
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
|
|||||||||||
13.11.2011, 14:54 [ТС] | 42 | ||||||||||
Да мне уже написали, что невозможно.
А вообще вот:
Но! Вот ведь чем хороши макросы? Ну тем, хотя бы, что их можно поправить в ОДНОМ МЕСТЕ. Теперь представьте себе, что я f() 1) усложнил, то есть f () возвращала 0, 1 или 2. А теперь возвращает ещё и 3. и как следствие 2) диапазон возвращаемых макросов расширился. То есть я добавил в макросы:
А Nameless One предложил print_error_description Это-то и плохо. Ну, видать, судьба А чё такое эксепшн?
0
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
|
||||||
13.11.2011, 15:56 [ТС] | 44 | |||||
Ребята, а зачем функции возвращать тип int, тем более, если это значение что-то значит? А не проще ли чтобы функция возвращала string?
Тогда всё круто:
0
|
Каратель
|
||||||
13.11.2011, 16:01 | 45 | |||||
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
13.11.2011, 16:04 | 46 |
kravam, тебе такой вариант еще на первой странице предлагали
0
|
186 / 186 / 21
Регистрация: 08.01.2011
Сообщений: 1,139
|
|
13.11.2011, 16:05 | 47 |
Как бы на второй странице такой вариант выкладывали.
Не по теме: в одно время написали
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
13.11.2011, 16:09 | 48 |
А вообще, если ты пишешь на С++, то логичней использовать исключения для обработки ошибок
0
|
4773 / 2582 / 894
Регистрация: 29.11.2010
Сообщений: 5,590
|
|
13.11.2011, 16:15 | 49 |
0
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
|
|
13.11.2011, 16:28 [ТС] | 50 |
а, ну да, но я кстати, отреагировал на то сообщение
функция возвращает int, возвращаемые значения определены в макросах, как сразу выводить определённые макросы? Ну пусть не я придумал. Короче я пока на нём остановлюсь. А с исключениями я пока не знаком, ну то есть я их пробовал изучить, но не просёк в чём там их преимущество. Типа возвращать всё в одно место круто гы-гы Добавлено через 56 секунд Nameless One, Это вообще не ошибки у меня а вполне себе нормальные возвращаемые ожидаемые значения.
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
||||||
13.11.2011, 16:37 | 51 | |||||
ну вот пример реализации с исключениями (опять с использованием x-макросов, так как ты хочешь использовать для индикации типа ошибки целочисленный идентификатор). Чтобы добавить/удалить исключение, нужно изменить только одну строку в макросе DECLARE_ERRORS.
1
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
|
|
13.11.2011, 16:44 [ТС] | 52 |
изучу потом обязателно
0
|
Chelioss
|
13.11.2011, 17:03
#53
|
0
|
Nameless One
|
13.11.2011, 17:04
#54
|
0
|
Заблокирован
|
||||||
13.11.2011, 19:27 | 55 | |||||
ну вот смотри:
Предположим, у тебя имеется функция, которая по значению сможет вернуть тебе имя дефайна:
Ответ: никак. Если ты сам не укажешь ей, что именно она должна вернуть. Итого: пляски с бубнами. То, что ты хочешь сделать, как минимум неоправданно сложно. Зачем это нужно, если можно юзать варианты попроще? /зы Активно использую макросы. У меня, какой нибудь тривиальный шаблонный класс процентов на 10 минимум состоит из макросов. Не вижу ничего плохого в том, что бы максимально улучшать читабельность, и понижать сложность понимания любыми доступными средствами. /зыы Студия не умеет на этапе разработки разворачивать макросы. Но даже если б и умела, все равно, есть несколько очень простых способов, как при помощи макросов отстрелить себе ногу. Если ошибка происходит где то в зоне действия макроса, найти её "обычными способами" практически нереально. Поэтому, если макрос не понижает сложность проекта, а наоборот увеличивает, то такой макрос лучше не использовать имхо.
0
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
|
|
13.11.2011, 20:10 [ТС] | 56 |
Так я вроде пошёл по вашему способу, теперь функция возвращает string, всё упростилось вроде бы.
0
|
13.11.2011, 20:10 | |
13.11.2011, 20:10 | |
Помогаю со студенческими работами здесь
56
Функция PlaySound воспроизводит звук и возвращает управление СРАЗУ ЖЕ (но это неправильно), почему? Как использовать значения, возвращаемые IEnumerable Как получить возвращаемые значения функцией MessageBox Как преобразовать в QString значения возвращаемые QDomElement? Можно ли вывести сразу 2 значения int из функции через return? Реализуйте статический метод d(int a, int b, int c), который возвращает дискриминант b2-4*a*c квадратного уравнения. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |