我有两个矢量类:
typedef struct D3DXVECTOR3 {
FLOAT x;
FLOAT y;
FLOAT z;
} D3DXVECTOR3, *LPD3DXVECTOR3;
和
class MyVector3{
FLOAT x;
FLOAT y;
FLOAT z;
};
和一个功能:
void function(D3DXVECTOR3* Vector);
如何实现这样的目标是可能的(如果可能的话):
MyVector3 vTest;
function(&vTest);
答案 0 :(得分:2)
function(reinterpret_cast<D3DXVECTOR3*>(&vTest));
一般来说,你应该避免使用reinterpret_cast
。
答案 1 :(得分:1)
看起来你想要一个D3DXVECTOR3的包装类。在这种情况下,只需从它继承MyVector3。然后,您可以将MyVector3 *传递给之前可以通过D3DXVECTOR3 *。
传递的任何地方答案 2 :(得分:1)
旧的C式演员
MyVector3 vTest;
function((D3DXVECTOR3*)&vTest);