использовании с непосредственными аргументами работает как нужно
                  
                  
                  
                  
                  
                  если пару переменных задефайнить, как одну, например:
                  
                  
                  #define ONETWO 1, 2
                  
                  
                  запись вида FUNC(ONETWO) разворачивается как FUNC((1,2)+()), а ожидается поведение как в первом случае
                  
                  
                  
                  
                  
                  есть ли законный способ избежать такого поведения?
                  
                  
                
А как вызывается Макрос во втором случае?
Короче, напиши два макроса,с двумя и одним параметрами. А там уже через шаблон например можно как-то разделаться с этим во втором случае
https://gcc.godbolt.org/z/nLdUUS
https://stackoverflow.com/questions/8587965/c-pre-processor-macro-expansion/8588232
Обсуждают сегодня