我正在尝试使用btVector3绑定类。绑定btVector3与构造函数工作正常。绑定功能如:
void SetPosition(const btVector3& position)
工作正常,但绑定了这个:
btVector3 GetPosition()
给了我以下错误:
错误C2719:'unnamed-parameter':形式参数用 __declspec(align('16'))将不会对齐
据我所知,btVector3是对齐的,如何修复/解决此问题?
答案 0 :(得分:0)
Dunno,如果它是完全相同的问题(如果它仍然与你相关,差不多两个月),但我在使用Luabind绑定Bullet btTransforms时遇到问题。例如,这给出了您描述的相同错误:
void bindBtTransform(lua_State *L) {
luabind::module(L)
[
luabind::class_<btTransform>("btTransform")
// constructors
.def(luabind::constructor<>())
// methods
// INCORRECT -------------------------------------------------------
.def("getOrigin", &btTransform::getOrigin)
];
return;
}
然而,当我给出getOrigin()函数的完整签名时,它起作用了:
void bindBtTransform(lua_State *L) {
luabind::module(L)
[
luabind::class_<btTransform>("btTransform")
// constructors
.def(luabind::constructor<>())
// methods
// CHANGE TO THIS-------------------------------------------------
.def("getOrigin", (const btVector3& (btTransform::*)() const)&btTransform::getOrigin)
];
return;
}
希望对你有用;当我做出改变时,我的问题立即得到了解决。
我现在仍然收到错误,但只有在我为btQuaternions定义乘法运算符时才会这样。我希望这是一个类似的修复。