10

以下のコードが失敗する理由を理解している誰かがそこにいることを願っています。osg :: Node *ノードオブジェクトからPositionAttitudeTransform(Openscenegraphクラス)のインスタンスを取得しようとしています。ただし、以下の太字のコンパイラエラーがあります。

 void CameraPosCallbackUpdate::operator()(osg::Node* node, osg::NodeVisitor* nv)
{ 
   // other code goes here

    osg::PositionAttitudeTransform* pat = dynamic_cast<osg::PositionAttitudeTransform*> (node);

}

IntelliSense:dynamic_castの型は、完全なクラス型へのポインターまたは参照である必要があります。そうでない場合は、void *

オブジェクトにアクセスする正しい方法を教えてください。キャストが可能であると信じているので、ここでの問題が何であるかを理解するのに役立ちます。

階層 http://www.openscenegraph.org/documentation/OpenSceneGraphReferenceDocs/a00529.html

4

1 に答える 1

14

#includeの本文を含むヘッダーファイルが必要だと思いますclass osg::PositionAttitudeTransform
dynamic_cast宛先クラスの本体が表示されていない場合、このようなエラーが発生します。

これは、 g++で再現された同様のエラーです。

于 2012-10-30T06:15:07.180 に答える