【发布时间】:2013-11-01 17:52:19
【问题描述】:
我有以下代码:
#include <windows.h>
class systemfunctions
{
public:
void (*sleep) (DWORD ms);
systemfunctions ()
{
sleep = reinterpret_cast<void>(Sleep);
}
} sys;
当我调用sys.sleep() 时,应用程序崩溃了。程序为什么会崩溃,我该怎么做才能解决这个问题?
【问题讨论】:
-
你有没有检查过调用时sys.sleep的值是多少?
-
这段代码甚至不能编译,你不能
reinterpret_cast到void。请贴出真实代码。 -
@GManNickG,我错过了
public:,补充说。该代码确实可以使用 MSVC 的cl编译,但会崩溃。 -
@user2064000:这是 MSVC 中的一个巨大错误……我想知道它甚至会生成什么。我可以告诉你,演员阵容是错误的,所以应该被删除。
标签: c++ casting reinterpret-cast