ポインターに関して別の問題があります。
次のヘッダーを持つ関数があります。
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*" の値で初期化できません (これはコレクション パラメーター用であり、同じエラーがアクターにも表示されます)
コレクションとアクターのパラメーターを関数に渡して正しく動作させるにはどうすればよいですか?
私はこれを試しました:
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 名前空間はクローズド ソースであり、それらの実装方法を変更することはできません。