我有關於指針的另一個問題。傳遞給函數頭的指針
我有下面的頭一個函數:
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