给定这些typedef
s 和下面的值:
typedef void GTVOID;
typedef GTVOID *PARAM_VALUE;
typedef unsigned long UDGT32
typedef UDGT32 PARAM_CONST;
typedef signed long DGT32;
typedef DGT32 RESULT_FUNC;
DWORD value = 1; // given from a define
如何转换它以满足 C++ 中该设备 SDK 功能的需求?
RESULT_FUN RSetParam( PARAM_CONST DeviceParameter, PARAM_VALUE value);
示例中的 C 参考代码为:
RSetParam( R_SOME_PARAM_CONST, (PARAM_VALUE)value );
我在下面尝试过,但这很奇怪。它编译好,整天都在工作,而且幸运的是,它开始突然抛出访问违规:
RSetParam(R_SOME_PARAM_CONST, reinterpret_cast<void*> (value));
我做错了什么?