[C++] 從文件讀取時出現C ++訪問衝突


Answers

Question

剛開始使用C ++。

從二進製文件讀取時出現訪問衝突錯誤。 這裡是涉及的類:

class Staff { //base class
public:
    Staff() {}
    virtual ~Staff{}
}

其中一個派生類:

class Scheduler : public Staff {
public:
    Scheduler() {}
    //no destructor defined
}

然後在使用這些類的代碼中:

ifstream in("Scheduler.dat", ios::in | ios::binary);
Scheduler s;
in.read(reinterpret_cast<char *>(&s), sizeof(Scheduler));

當我點擊read語句時,觸發訪問衝突異常,VS2013指向Staff類中的虛擬析構函數。

是不是因為我沒有在類Scheduler中顯式創建一個析構函數? 或者是由別的東西引起的?