掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
バイナリリソースから読み込んだクラスデータの関数が実行されません (ID:52659)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
VC++の実装の場合,CBaseは仮想関数を含みますから, CBaseは「仮想関数テーブルへのポインタ」という暗黙のメンバを持っています。 #大抵のC++実装はそうなっているはず。 CChild::Functionは仮想関数ですから, p[i].Function()の解決は仮想関数テーブルを経由します。 当然,予期した場所に仮想関数テーブルがなければ未定義動作でしょうね。 というわけで,方法を一から変更する必要がありそうです。 まず,CChildは内部のデータを入出力できるようにして,それをリソースに蓄えます。 そして,そのデータを読み込んでCChildの配列を生成することで, CParentを復元する,というのが安全な方法です。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.