Faion
Noblesse Oblige
offline
Опыт:
30,395Активность: |
Небольшой глюк препроцессора cjass
Есть следующая библиотека которую ток начал писать
» тык
Юзается так:
Собсно проблема в том, что
Такая вот проверка стопорит парсер(он не падает, не зависает, а просто останавливается файнд'n'реплейс если значение является кодом. Если передано значение null, то все ок. Если совсем проверки эти убрать, то все ок. Отредактировано Faion, 28.07.2012 в 18:31. |
28.07.2012, 17:08 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
м? |
28.07.2012, 19:01 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Faion
Noblesse Oblige
offline
Опыт:
30,395Активность: |
|
28.07.2012, 19:08 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
А ну, так нельзя. Т.к. аргументом в дефайн может быть подана переменная, препроцессор ведь не может сравнить ее с нулем. |
28.07.2012, 19:55 | #4
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Faion
Noblesse Oblige
offline
Опыт:
30,395Активность: |
Doc, в том то и что дело можно. Другое дело что с проверкой так не прокатывает, в прочем если передать null, то все ок, т.е. если в препроцессоре сделать проверку строк, то все будет ок. Вообще конечно можно просто добавить доп. "булевые" значения для каждой конструкции, тогда по идее все будет ок, но тогда будет не так элегантно код выглядеть. |
28.07.2012, 20:05 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
Ну очевидно же что препроц может проверить только константы/дефайны. Так что нет. |
28.07.2012, 20:05 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Faion
Noblesse Oblige
offline
Опыт:
30,395Активность: |
Doc, все можно, если есть руки и мозг, нет ничего невозможного.~Faion:
меняем на:
и все ок.
Правда теперь другая ошибка посыпалась, но думаю мб где что то пропустил:)
|
28.07.2012, 20:15 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
#if (!forEach) тут все правильно, оно всегда будет срабатывать за исключением тех ситуаций когда forEach будет 1 или true. |
28.07.2012, 20:18 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Faion
Noblesse Oblige
offline
Опыт:
30,395Активность: |
Doc:
Ну да и проблему это вполне решает:)
Faion добавил: Короче тему можно закрыть, никаких еще извращений я придумывать не буду, оставлю так. |
28.07.2012, 20:37 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|