0

我有一个 void 指针,其中包含对象的地址,但我不知道该对象的类型。我的代码就像

VARIANT vtProp;

现在使用某种方法获取 vtProp 中的值。它成功地具有了一些价值。

现在我已经在 void 指针中赋值

void *ptr = vtProp.pparray;

现在它正在获取一些对象数组。我需要从 void 指针中获取对象,但是当我使用 void 指针显示值时

wcout << ptr << endl;

它只显示空指针中包含的地址。

您能否建议我如何打印对象名称。

4

1 回答 1

0

这将打印一个地址:

void *ptr = vtProp.pparray;
wcout << ptr << endl;

因为 , 的重载operator<<void*应用。如果ptr指向具有 member 的对象name,您应该这样做:

MyObject* ptr = reinterpret_cast<MyObject*>(vtProp.pparray);
wcout << ptr->name << endl;
于 2013-10-07T10:22:35.997 回答