У меня есть указатель void, который содержит адрес объекта, но у меня нет типов этого объекта. Мой код похож
VARIANT vtProp;
Теперь получим значение в vtProp с помощью некоторого метода. Он имеет несколько значений.
Теперь я назначил значение в указателе void
void *ptr = vtProp.pparray;
Теперь он получает некоторый массив объекта. Мне нужно получить объект из указателя void, но когда я показывал значение в указателе void, используя
wcout << ptr << endl;
Он отображает только адрес, содержащийся в указателе void.
Не могли бы вы предложить мне, как напечатать имя объекта.
Это печатает адрес:
void *ptr = vtProp.pparray;
wcout << ptr << endl;
потому что применяется перегрузка operator<<
, принимающая void*
. В случае, если ptr
указывает на объект с name
участника, вы должны сделать следующее:
MyObject* ptr = reinterpret_cast<MyObject*>(vtProp.pparray);
wcout << ptr->name << endl;