Chciałbym, aby makro funkcjonowało w moim programie jako argument innego makra.
Mamy dwa makra:
#define LED1 PORTB,PB0
#define set(port, num) ((port) |= (1 << (num)))
Niestety wywołanie:
set(LED1);
powoduje błąd:
makro "set" wymaga 2 argumentów, ale podano tylko 1
Czy da się zrobić, tak, żeby preprocesor rozwijał najpierw LED1 , a potem set? Jak inaczej można to obejść?
Please help!