Macros Multi-declaración en C ++

En c ++, ¿es posible hacer unmacro multi-declaración conanidado si declaraciones dentro de ella como la de abajo? Lo he estado intentando durante un tiempo y tengo un problema de alcance para la segunda declaración if si no puedo ver 'símbolo'. Tal vez necesito entender más las macros.

#define MATCH_SYMBOL( symbol, token)
     if(something == symbol){
          if( symbol == '-'){
          }else if (symbol != '-'){
          }
     other steps;
     }

Respuestas a la pregunta(7)

Su respuesta a la pregunta