私はこれが非常に基本的なことを知っていますが、どういうわけかさまざまなテクノロジーに取り組んでおり、C++ の概念をマッシュアップしました
簡単なプログラムを作成しましたが、デストラクタが呼び出されると例外が発生します。
以下はコードです:
#include "stdafx.h"
#include<iostream>
using namespace std;
class Employee
{
public:
Employee(char *name){
cout<<"Employee::ctor\n";
myName_p = new char(sizeof(strlen(name)));
myName_p = name;
}
void disp(){cout<<myName_p;}
~Employee()
{
cout<<"Employee:dtor\n\n";
delete myName_p;
}
private:
char *myName_p;
};
int main()
{
Employee emp("check");
emp.disp();
return(0);
}
この基本概念をクリアすることを求めます。私の理解では、この場合 new[] を使用していないため、delete[] は使用できません。delete[] を使用してみましたが、それでもエラーが発生しました