У меня есть этот макрос для запуска пакетазаписи макросов в C++ функции
#define BEGIN_PACKET_DEF(name, type) typedef struct name {\
int8_t header;\
static size_t size() { return sizeof(name); }\
name() { memset(this, 0, sizeof(name)); header = type; }
И это за окончание пакета
#define END_PACKET_DEF(name) } name;
И я хочу, чтобы изменить его в качестве функции C++. Как говорит название является определить, чтобы начать определение пакета BEGIN_PACKET_DEF
добавит Авторежит int8_t header;
в каждом пакете
Пример использование:
BEGIN_PACKET_DEF(Name_struct,HEADER)
// some packet's data
END_PACKET_DEF(Name_packet)
мне нужна помощь, чтобы переписать эти макросы как функции C++ и делать такой же эффект, как макросы, я просто не люблю использовать макросы.
Один из намеков может заключаться в том, чтобы попросить ваш компилятор показать исходный текст после предварительной обработки - поскольку в нем содержатся расширенные макросы ... – Dilettant