rual (02.09.2015 06:24 - 07:25, просмотров: 94) ответил Mebius на Может так: float val = *((float*)(pconf+CName[i].offset));
Хозяйке на заметку: "Как можно получить тип члена структуры или переменной? Ведь компиллер сам знает тип членов."
#include <typeinfo>
....
float val = NAN;
if (typeid(float) == typeid(CName[i].offset)) val = *((float*)pconf+CName[i].offset);
if (typeid(int8_t)== typeid(CName[i].offset)) val = (float)*((int8_t*)pconf+CName[i].offset);
......
Кста, хотел сделать красиво, но с оператором switch typeid не работает ( (в кейле?):
switch(typeid(CName[i].offset))
{
default: val = NAN; break;
case typeid(float): val = *((float*)pconf+CName[i].offset); break;
....
}