我有另一个关于指针的问题。
我有一个带有以下标题的函数:
addActor (NxuPhysicsCollection &c, NxActor &a, const char *userProperties=0, const char *actorId=0)
我正在尝试像这样使用它:
NXU::NxuPhysicsCollection* collection = new NXU::NxuPhysicsCollection();
NxActor* actor = *actors++;
NXU::addActor(collection, actor, NULL, NULL);
但我收到以下错误:
“NXU::NxuPhysicsCollection&”类型的引用(非 const 限定)无法使用“NXU::NxuPhysicsCollection*”类型的值进行初始化(这是针对集合参数,actor 也会出现相同的错误)
我应该如何将集合和参与者参数传递给函数才能正常工作?
我试过这个:
NXU::addActor(&collection, &actor, NULL, NULL);
但这也不起作用,它给了我错误:
"Initial value of reference to non-const must be a lvalue."
任何帮助是极大的赞赏。
编辑:如果我这样使用它:
NXU::addActor((NXU::NxuPhysicsCollection&)collection, (NxActor&)actor, NULL, NULL);
它不再给我错误了。这个对吗?
我必须提到 NXU 和 NX 命名空间是封闭源代码,我无法修改它们的实现方式