Вы должны быть способны привести указатель к нужному типу:
typedef struct {
...
} CMyType;
...
CMyType myinstance;
CMapPut(cm, "key", &myinstance);
Полагаю, вы сохраните указатель как const void*
. Я полагаю, у вас есть функция, подобная CMapGet
, которую вы используете для извлечения ваших отображенных объектов следующим образом:
void *CMapGet(CMap *cm, const char *key);
...
CMyType* myinstance_ptr = CMapGet(cm, key);