Недавно я получил файл аварийного дампа от клиента. Я мог отследить проблему до класса, который мог содержать неверные данные, но я получил только 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-указателю?
Примечание: я мог бы в конечном итоге использовать пространство имен с глупыми именами (например, имя исходного файла), а затем использовать «использование пространства имен», но я ожидал бы более эффективных решений.