Код: Выделить всё
MACRO(int, a, b, c)
Код: Выделить всё
int a, int b, int c
Основная проблема:
Мне нужны части код, в котором происходит преобразование типов во время компиляции.
Поэтому я делаю что-то подобное:
Код: Выделить всё
struct Index {
Index(size_t i, size_t j) : iElem(i), iDof(j) {}
size_t iElem;
size_t iDof;
};
struct IndexOverride {
explicit IndexOverride(Index index) : iElem(index.iElem), iDof(index.iDof) {}
size_t iElem;
size_t iDof;
size_t extra;
};
#define MACRO(index, FunctionBody) { auto test = [&](IndexOverride Index) { FunctionBody; }; test(static_cast(index)); }
Код: Выделить всё
Index index(2, 3);
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/78698861/c-macros-add-expression-to-variadic-macro-arguments[/url]