2015-11-25 72 views
0

我想,爲什麼我收到以下錯誤弄清楚:錯誤:(C++)類的重新定義

錯誤: '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();      
}; 
+0

你有沒有頭盔警衛?發佈確切的編譯器錯誤輸出,如果你可以 – mathematician1975

+0

./TimeDuration.h:5:7:錯誤:重新定義'TimeDuration' class TimeDuration { – anonymous

+0

./TimeDuration.h:5:7:注意:先前的定義在這裏 class TimeDuration { – anonymous

回答

3

該錯誤可能是因爲你沒有頭衛兵在TimeDuration.h

一種標準方法來頭文件保護是在文件寫的開頭:

#ifndef TIME_DURATION_H 
#define TIME_DURATION_H 

並在文件末尾:

#endif