2017-01-27 8 views
-2
  • をダウンキャストダイナミックキャストオブジェクト、をptrがするobject_ptrから意気消沈のですか?は、私は、この行についてお聞きしたい

  • これは、object_ptrがptrではないため、ダウンキャストする必要があるからです。

    MyClass * ptr = dynamic_cast<MyClass*>(object_ptr); 
    
+1

あなたに伝えるには、[mcve]が必要です。 – NathanOliver

+2

'object_ptr'とは何ですか?あなたの本当の問題は何ですか?そして、[良い質問をする方法を読む](http://stackoverflow.com/help/how-to-ask)、[最小限の、完全で証明可能な例(http: //stackoverflow.com/help/mcve)。 –

+0

@NathanOliver質問は一般的です、そして、この行とこのキャストの使用についてです、ありがとう! –

答えて

0
MyClass * ptr = dynamic_cast<MyClass*>(object_ptr); 

が意気消沈object_ptrからptrをするのですか?

object_ptrからMyClass*へのキャストです。変数ptrは、変換の結果からコピー初期化されます。引用されたコードは、object_ptrMyClassのベースへのポインタである場合にのみ、ダウンキャストを実行します。

これは、object_ptrがptrではなく、ダウンキャストする必要があるためです。

object_ptrおよびptrは変数である。変数は別の変数ではありませんが、ダウンキャストとは関係ありません。

関連する問題