解放されたオブジェクトに対してメソッドが呼び出されました

提供: Appmethod Topics
移動先: 案内検索

アクセス エラー への移動


"解放されたオブジェクトに対してメソッドが呼び出されました" エラーは "解放されたメモリへのアクセス" エラーと似ていますが、メモリへのアクセスではなく解放されたオブジェクトのメソッドを呼び出すことで発生します。

#pragma hdrstop
#include <tchar.h>
#pragma argsused
#include<stdio.h>
#include<dir.h>
class someclass{
	int fnumber;
  public:
	int getnumber(){return fnumber;}
	void setnumber(int nw){fnumber = nw;}
	int doublev(int val){return val*2;}
	int publicalval;

};

void myf()
{
  someclass *myc = new someclass();
  delete myc;
  myc->doublev(5); // error
}


int _tmain(int argc, _TCHAR* argv[])
{
	myf();
	return 0;
}