最近,我从一个客户那里收到了一个崩溃转储文件。我可以将问题追踪到一个可能包含不正确数据的类,但我只得到了一个指向这个类的void指针,而不是一个真正的指针(该void指针来自窗口属性,因此它是一个void指针)。 不幸的是,我想要将指针转换为的类在一个匿名命名空间中,就像这样:
namespace
{
class MyClass
{
...
};
}
...
void *ptr = ...
// I know ptr points to an instance of MyClass,
// and at this location I want to cast ptr to (MyClass *) in the debugger.
当我在监视窗口中使用ptr
时,Visual Studio 2005只显示指针值。
如果我使用(MyClass *)ptr
,调试器会告诉我无法转换它。如何将
ptr
强制转换为MyClass
指针?注意:我最终可以使用一个愚蠢的命名空间(如源文件的名称),然后使用“using namespace”,但我希望有更好的解决方案。