質問: q4_local; }//代入終了 //デストラクタの実装 Person::~Person(){} string Person::getname(){//名前の取得 return(name); }//名前の取得終了 ``` ``` //ヘッダーファイルです #ifndef PERSON_H_INCLUDED_ #define PERSON_H_INCLUDED_ #include using namespace std; class Person{ string name; int q1; int q2; int q3; int q4; public: void Show();//名前と評価の表示 //コンストラクタ Person();//名前の設定→初期化 Person(string str, int q1_local, int q2_local, int q3_local, int q4_local);//長さ取得、代入 string getname();//名前の取得(stringのメンバ) ~Person(); }; #endif ```
回答: とりあえずコンパイルエラーを解消するには: 1. Person.hにコンストラクタの誤植があります。`Personv`を`Person`にしてください。 2. main関数におかしな文があります。`Person = new Person`を削除してください。 3. ヘッダファイルの表記ゆれがあります。`Person.h`か`person.h`に統一してください。 4. ヘッダファイルはstring型を知りません。`#include`を追加してください。 Visual Studioでは、これでコンパイルは通りました。 さらに、ランタイムエラーについて: 1. main関数の`delete person;`を削除してください。