小编use*_*491的帖子

析构函数后获取分段错误

我正在制作一个小文件阅读和数据验证程序,作为我的TAFE(大专院校)课程的一部分,这包括检查和验证日期.

我决定最好用一个单独的类来完成,而不是将它集成到我的主驱动程序类中.

问题是我的测试程序运行后出现了分段错误(核心转储).我可以说,在程序终止时发生错误,在调用析构函数后弹出.到目前为止,我没有找到这个错误的原因,并且希望一些开明的灵魂可能向我展示我的方式的错误.

date.h

#ifndef DATE_H
#define DATE_H

#include <string>
using std::string;

#include <sstream>
using std::stringstream;

#include <cstdlib>
using std::exit;

#include <iostream>
using std::cout;
using std::endl;

class date {

    public:
        explicit date();
        ~date();
        bool before(string dateIn1, string dateIn2);
        int yearsBetween(string dateIn1, string dateIn2);
        bool isValid(string dateIn);
        bool getDate(int date[], string dateIn);
        bool isLeapYear(int year);
    private:
        int days[];

};
#endif
Run Code Online (Sandbox Code Playgroud)

date.cpp

#include "date.h"

date::date() {

    days[0] = 31;
    days[1] = 28;
    days[2] = 31;
    days[3] = 30;
    days[4] = 31;
    days[5] …
Run Code Online (Sandbox Code Playgroud)

c++ destructor segmentation-fault

6
推荐指数
1
解决办法
4434
查看次数

标签 统计

c++ ×1

destructor ×1

segmentation-fault ×1