我为我的C++项目使用Chipmunk物理引擎。C++:使用另一种类型
花栗鼠有它自己的向量,cpVect,这不过是一个struct { double x, y; };
不过我有自己的操作重载Vector类在我的项目 - 我想用它就像一个cpVect和副反之亦然,而无需任何转换 (我class Vector
唯一的数据字段double x, y
以及)
目前我使用这个隐式转换(参数传递,一个Vector变量设置为cpVect等)
inline operator cpVect() { return cpv(x, y); };
inline Vector(cpVect v) : x(v.x), y(v.y) {}
这适用于大多数情况,但有一些问题 - 例如,它与使用cpVect数组的Vector类型的数组不兼容。
对于我现在必须这样做:
Vector arrayA[123];
cpVect* arrayB = (cpVect*) arrayA;
- 是否有可能通过某种方式使用我的向量作为cpVect,反之亦然?数据与两个结构相同,我的只有其他方法。
这里有什么问题? – Eclipse 2010-11-19 21:29:30
固定,哈哈。对不起, – Alfred 2010-11-19 21:32:23
也许使用工会? – 2010-11-19 21:33:09