Я пытался отобразить структуру карты в указатель пустоты и отбросить ее наоборот.Нарисовать структуру карты, чтобы удалить указатель и разыменовать
void addToMap(void *data){
// add some elements to the map
}
map<string, vector<myStruct> > myMap;
addToMap(&myMap);
Я пытаюсь отправить MyMap к функции addToMap в качестве аргумента и добавить некоторые элементы внутри функции. Как я могу почтить параметр void обратно в структуру карты?
Я знаю, что static_cast можно использовать для разыменования типа void, чтобы знать типы. Например:
int* a = new int();
void* b = static_cast<void*>(a);
int* c = static_cast<int*>(b);
Приведенный выше фрагмент будет работать, но не в этом случае, я полагаю. Я уже пробовал это для своего дела, возможно, должен быть другой трюк.
Это не C, возможно, C++? –
Я строю проект в C++, но есть некоторые библиотеки C, которые я использую, и функция, которая принимает параметр void, из этих библиотек. – serhatg
Не можете ли вы просто вернуть его обратно к типу вашей карты? – simon