использование else в макросах

Я видел следующий код:

#define QL_REQUIRE(condition,message) \
if (!(condition)) { \
    std::ostringstream _ql_msg_stream; \
    _ql_msg_stream << message; \
    throw QuantLib::Error(__FILE__,__LINE__, \
                          BOOST_CURRENT_FUNCTION,_ql_msg_stream.str()); \
 } else 

Вот как мы предполагаем его использовать.

void testingMacros1 (){
   double x =0.0;
   QL_REQUIRE (x!=0 ," Zero number !");
}

Я предполагаю, что elseв конце имеет некоторые специальное использование.

Вопрос> Каково использование else, добавленного в конце определения этого макроса?

Спасибо

6
задан q0987 24 May 2012 в 19:58
поделиться