Escopo do quebra-cabeça macro
#include <iostream>
using namespace std;
void sum(){
#define SUM(a,b) a+b
}
int main(void){
int a = 10;
int b = 20;
int c = SUM(a,b);
int d = MUL(a,b);
cout << c << endl;
cout << d << endl;
return 0;
}
void mul(){
#define MUL(a,b) a*b
}
O problema apresenta um erro com a macro MUL. Mas funciona bem com a macro SUM. Por que isso está acontecendo?