显示通用指针的值

时间:2013-10-07 10:14:55

标签: c++ visual-c++ variant

我有一个包含对象地址的void指针,但我没有这个对象的类型。我的代码就像

VARIANT vtProp;

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

现在我已经在void指针

中分配了值
void *ptr = vtProp.pparray;

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

在void指针中显示值时
wcout << ptr << endl;

它只显示地址包含在void指针中。

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

1 个答案:

答案 0 :(得分:0)

这会打印一个地址:

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

因为operator<<的重载已应用void*。如果ptr指向具有成员name的对象,则应执行以下操作:

MyObject* ptr = reinterpret_cast<MyObject*>(vtProp.pparray);
wcout << ptr->name << endl;