###前提・実現したいこと
下記のようなエラーがでてしまい、実行できません。
これは、オブジェクトがコピーされた後、破棄されるので、coutでエラーが起きているという意味でしょうか。
###発生している問題・エラーメッセージ
*** Error in `./Main': double free or corruption (fasttop): 0x0000000001074010 ***
###ソースコード
<ヘッダー文> class Worker{ public: int number; char* name; double salary; Worker(); ~Worker(); }; <メイン文> Worker::Worker(){ name = new char[80]; strcpy(name, "undifined"); number = 0; salary = 0; } Worker::~Worker(){ delete name; cout << "デコンストラクタ" << "\n"; } void ShowData(Worker w1){ cout << "name = " << w1.name << "\n"; cout << "number = " << w1.number << "\n"; cout << "salary = " << w1.salary << "\n"; } int main(){ Worker w1; strcpy( w1.name,"Takayuki"); ShowData(w1); cout << " ------ ShowData ------- " << w1.name << "\n"; return 0; }
###補足情報(言語/FW/ツール等のバージョンなど)
paiza.io
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/01/21 01:19
2016/01/21 01:28
2016/01/21 01:30