Я бы не советовал делать такие вещи. Во всяком случае, есть две проблемы. Прежде всего, чтобы пропустить новую строку, вам нужно \
, а не /
.
Во-вторых, ##
не так. То, что он делает - это объединение var
в int
. Таким образом, с MY_MACRO(foo)
вы получите intfoo;
, но вы хотите int foo;
Макрос должен быть таким:
#define MY_MACRO(var) \
int var