我试图弄清楚为什么会出现以下错误:

错误:“ TimeDuration”的重新定义

// TimeDuration.cpp

#define HOUR 3600
#define MIN 60

#include <iostream>
#include <string>
#include "TimeDuration.h"

using namespace std;

TimeDuration::TimeDuration() {
    seconds = 0;
}

void TimeDuration::setDuration(const int sec) {
    seconds = sec;
}

void TimeDuration::display() {
    // Some code to display the time
}


错误显示在我的头文件中。

// TimeDuration.h

class TimeDuration {
    private:
        int seconds;
    public:
        TimeDuration();
        void setDuration(const int sec);
        void display();
};

最佳答案

该错误可能是因为您在TimeDuration.h中没有标题保护

标头保护的标准方法是在文件的开头写入:

#ifndef TIME_DURATION_H
#define TIME_DURATION_H


并在文件末尾:

#endif

关于c++ - 错误:类的重新定义(C++),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33906418/

10-09 12:55