###前提・実現したいこと
下記のコードのように値渡しを行いたいのですが、エラーが発生しております。
私が思ったのが、関数ないで渡されたオブジェクトw2もコンストラクタが発生し、値は書き変わるもののエラーが起きる理由にはつながらないと思っていましたが、エラーを解決できません。
###発生している問題・エラーメッセージ
Runtime error(Exit status:134(Abort signal from abort(3)))
###ソースコード
#include <iostream> #include "Worker.h" using namespace std; Worker::Worker(){ name = new char[80]; strcpy(name, "undifined"); number = 0; salary = 0; } Worker::~Worker(){ delete name; cout << "デコンストラクタ" << "\n"; } void ShowData(Worker w2){ cout << "name = " << w2.name << "\n"; strcpy(w2.name,"AVD"); cout << "name = " << w2.name << "\n"; cout << "number = " << w2.number << "\n"; cout << "salary = " << w2.salary << "\n"; } int main(){ Worker w1; strcpy(w1.name,"Takayuki"); w1.number =10; w1.salary = 100; ShowData(w1); return 0; } <エラー文> class Worker{ public: int number; char* name; double salary; Worker(); ~Worker(); };
###補足情報(言語/FW/ツール等のバージョンなど)
paiza.io
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/01/21 05:14