Привет У меня возникли проблемы с помощью C макросы и было интересно, если кто-нибудь может помочь:Макрос используется для замены аргументов внутри другого макроса в C
#define A7 PORTA,7
#define SET_BIT(x,y) x=x|(1<<y)
Я пытаюсь настроить макросы таким образом, что в основном код, я могу просто набрать
SET_BIT(A7); to set the 7th bit of A7
Однако я получаю следующие ошибки:
warning C4003: not enough actual parameters for macro 'SET_BIT'
error C2106: '=' : left operand must be l-value
error C2059: syntax error : ')'
Любая помощь будет ар preciated.
Я не уверен, что действительно инкапсулирует понятие 7 в 'A7' ... –
@OliCharlesworth Я понимаю это, но оригинальный плакат сказал: установить 7-й бит ** A7 **. Поэтому наилучшим способом должно быть следующее: '#define A PORTA, а затем SET_BIT (A, 7);' –