Я определил некоторые структуры данных, которые реализуют протокол регистрации для приложения Modbus/RS-485. Я собираю это для электронной платы с частицами.Dyanmic datatype в структуре
Как добавить различный тип данных в структуру? Я попробовал (void). Возможно ли это?
typedef struct {
uint16_t registerAddress;
uint8_t registerSize;
void* dataType;
char description[50];
} _rgRegister;
static const _rgRegister PressureParameterRegister[6]={
{0x038, 2, float, "Measured value"},
{0x040, 1, ushort, "Parameter Id = 2 (pressure)"},
{0x041, 1, ushort, "Units Id"},
{0x042, 1, ushort, "Data Quality Id"},
{0x043, 2, float, "Off line sentinel value (default = 0.0)"},
{0x045, 1, char, "Available Units = 0x0005"}
};
Другой вариант я объявляю его как:
char datatype[10];
и передать его как:
_rgRegister.datatype = "float"
И я должен иметь какой-то переключатель заявление, которое динамически бросает тип данных в данные.
вы можете использовать ключевое слово 'auto' для автоматического присвоения типов данных переменным во время выполнения. –
Или вы можете определить тип данных во время выполнения с помощью функции C++ 'typeid-> name()'. –