わかりましたので、#ifndef
and/or#define
キーワードに関係する問題を絞り込みました。
他に 2 つの.h
ファイルがあり、エラーのないファイルとエラーのないファイルの唯一の違いは、 で強調表示されている構文#ifndef EMPLOYEE_H
と、#define EMPLOYEE_H
エラーのあるファイルでスワップされていることです。
それが何を意味するのかはわかりませんが(Visual Studioを使用しています)、他の定義済みステートメントがすべて、一部に含まれているように白くなります。
何が悪いのかわからない!
これが私のコードです:
//Specification file for the Employee Class
#ifndef EMPLOYEE_H
#define EMPLOYEE_H
#include <string>
using namespace std;
class Employee
{
protected:
//Employee name
string name;
//Required Training hours
string emNum;
//Completed training hours
string hireDate;
public:
//Default Constructor
Employee()
{
name = " ";
emNum = " ";
hireDate = " ";
}
//Constructor
Employee(string aName, string aNumber, string aDate)
{
name = aName;
emNum = aNumber;
hireDate = aDate;
}
//mutators
void setName(string empName) { name = empName; }
void setEmployeeNumber(string empNumber) { emNum = empNumber; }
void setHireDate(string date) { hireDate = date; }
//accessors
string getName() const { return name; }
string getEmployeeNumber() const { return emNum; }
string getHireDate() const { return hireDate; }
#endif
};
私のエラーは次のとおりです。
エラー 1 エラー C2059: 構文エラー: '}'
エラー 2 エラー C2143: 構文エラー: ';' がありません 前 '}'
4 IntelliSense: 宣言が必要です
引用符
また、エラーは
};
最後に強調表示されています。