Makra z wieloma instrukcjami w C ++

W C ++, czy można zrobićmakro wielu instrukcji zzagnieżdżone instrukcje if wewnątrz tego jak ten poniżej? Próbuję go od jakiegoś czasu i otrzymuję problem z zasięgiem dla drugiego, jeśli stwierdzenie nie jest w stanie zobaczyć ”symbol” Może muszę dalej rozumieć makra.

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

questionAnswers(7)

yourAnswerToTheQuestion