【初心者歓迎】C/C++室 Ver.29【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0213デフォルトの名無しさん
2006/07/16(日) 21:35:09virtual void Init();
};
class cData : public cBase {
void Init(){ /*初期化処理*/ };
};
main() {
static char *works=(char*)malloc(1000);
cData *data;
data=(cData*)&(works[50]);
data->Init();
}
こういった感じで別途確保した領域をクラスとして使いたいのですが、->Init()実行時にエラーが出てしまいます。
コンストラクタが実行されていない為に仮想関数のテーブルが作成されていない、と予想しているのですが、
この予想で正しいでしょうか。また、解決法はありますでしょうか。
知恵を貸してください。
■ このスレッドは過去ログ倉庫に格納されています