привет!
есть некоторый препроцессорный код, генерящий структуры со всякими специфическими "потрохами".
этот макрос не генерит дефолтный конструктор, из-за чего мы вкорень устали от неинициализированных мемберов.
ну, подумал я, ща быринько поправлю макрос, чтоб генерит дефолтный конструктор....делов-то!
вот только пользователи этого макроса, уже сами начали вписывать и конструкторы, и всякий остальной код, который вставляется в тело структуры.
типа того:
#define DECLARE_TYPE(name, seq, ...) \
struct name { \
__VA_ARGS__ \
\
/* тут генерятся мемберы-данные */ \
};
DECLARE_TYPE(
type0
,
(int, m0)
(char, v1)
,
type0()
:m0{-1}
,m1{'0'}
{}
bool equal(const type0 &r) {...}
)
т.е. просто генерить дефолтный конструктор я не могу, коллизии же %)
вопрос в том, как разрулить, не рефакая пять проектов, использующих этот макрос?
спасибо!
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)