【发布时间】:2014-12-23 16:37:21
【问题描述】:
刚刚开始使用 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类中的虚拟析构函数。
是不是因为我没有在调度器类中显式创建析构函数?还是其他原因造成的?
【问题讨论】:
标签: c++ file binary destructor