我有关于指针的另一个问题。传递给函数头的指针
我有下面的头一个函数:
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);
,但我得到了以下错误:
A reference of type "NXU::NxuPhysicsCollection&" (not const-qualified) cannot be initialised with a value of type "NXU::NxuPhysicsCollection*" (this is for the collection parameter, same error appears for actor as well)
我应该如何将集合和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命名空间是闭源的,我不能修改它们的实现方式
'我试过这个:NXU :: addActor(&collection,&actor,NULL,NULL);'在这种情况下,你是如何定义'collection'和'actor'的? – Shark
我也试过,但没有奏效。 – user2399378