![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| null56 |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 721 Регистрация: 19.3.2008 Репутация: 2 Всего: 12 |
Всем привет
Возник интерес к макросам, а конкретно к тому, как можно реализовать аналог статической обработки диагностических сообщений из книги Александреску, только без классов, а через макросы.... Приблизительно, то чего я хочу добиться приведу
На выходе хочу увидеть при val > 0 ошибку компиляции, которая содержит "__THIS_IS_MY_ERROR" На сколько я знаю, это возможно, хотя могу ошибаться Заранее благодарен за помощь Добавлено через 7 минут и 47 секунд ну переменную проверить не получится... так как ее значение известно во время программы... а вот допустим что - то типа этого
|
||||
|
|||||
| EgorTheBlade |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 141 Регистрация: 5.12.2009 Репутация: нет Всего: -1 |
Задефайнити функцию которая ловит и показывает ерроры.
|
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 8 Всего: 39 |
В макрос это не запихать. -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
вот простой вариант :
варианты поэлегантней легко найти в гугле .. |
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 8 Всего: 39 |
В таком случае получится невразумительная ошибка, а никак не __THIS_IS_MY_ERROR :)
-------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| null56 |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 721 Регистрация: 19.3.2008 Репутация: 2 Всего: 12 |
ну почему же... туда в аргументе можно передать и имя ошибки или прописать ошибку прямо внутри
вывод
наверное то, что нужно... спасибо Это сообщение отредактировал(а) null56 - 13.10.2010, 12:46 |
||||||
|
|||||||
| mes |
|
||||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
1. не совсем невразумительная.. на gcc вида: size of array '__THIS_IS_MY_ERROR' is negative 2. для вразумительной ошибки нужно нарушить условие тс:
|
||||
|
|||||
| null56 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 721 Регистрация: 19.3.2008 Репутация: 2 Всего: 12 |
mes, вы правильно поняли мой вопрос, спасибо
Это сообщение отредактировал(а) null56 - 13.10.2010, 12:47 |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
это можно также заменить на
Это сообщение отредактировал(а) mes - 13.10.2010, 12:48 |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |