回答編集履歴

1

投稿先の間違い

2022/08/21 04:44

投稿

SaitoAtsushi
SaitoAtsushi

スコア5466

test CHANGED
@@ -1,3 +1,9 @@
1
+ すいません。 投稿先を間違えました。
2
+
3
+ こっちへの回答のつもりでした。 → https://teratail.com/questions/1souzwxiytri0k
4
+
5
+ ----
6
+
1
7
  基底から派生へキャストするときに元のオブジェクト (の型) は [多相型 (polymorphic type) へのポインタでなければならない](https://timsong-cpp.github.io/cppwp/n3337/expr.dynamic.cast#6)という制約があり、多相型というのは仮想関数を宣言、または継承したクラスです。
2
8
 
3
9
  一般的に多相型はそれを実現するために仮想関数テーブルへのポインタをオブジェクト内に保持 (暗黙のメンバと称されることもある) していて、それが実行時の検査に使われます。 実行時にチェックするにはチェックするための情報が保持されていなければならないという現実的な制約です。