0

重複の可能性:
C /C++マクロに意味のないdo/whileおよびif/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は最後にを注入するのですか?

4

0 に答える 0