- Se la direttiva si sviluppa su più righe, il testo di tutte le righe verrà
sostituito nel programma al posto del simbolo (esempio)
- Occorre prestare attenzione che il testo della macro viene sostituito nel programma al posto
di un simbolo.
- Due situazioni possono creare errori difficilmente individuabili:
- Se termineremo una macro con un commento //, il commento verrà sostituito al simbolo, insieme
con il resto del testo. Se il simbolo non era in fondo alla riga, tutto quello che lo seguiva risulterà
commentato. Questo problema non si pone con i commenti /* ... */(esempio)
- Se in una macro compare un'espressione logica o matematica, occorre ricordare che essa verrà
sostituita come testo al posto di un simbolo. Se il simbolo, a sua volta, farà parte di
un'espressione, il compilatore valuterà l'espressione risultante che potrà risultare diversa
da quello che ci aspettiamo a causa della precedenza degli operatori. La soluzione è quella di
racchiudere tra parentesi le espressioni delle macro.(esempio)
|