2016-11-17 81 views
-2

我剛開始一個任務,並開始在「Distance.h」選項卡中定義類的功能,雖然我很確定我的函數已正確初始化,我仍然收到編譯器錯誤,說「找不到定義」。我使用了一個在線導師,他在計算機上運行了它,但沒有發現任何錯誤,雖然他沒有進一步幫助我解決這個問題。有沒有人知道我應該在這種情況下做什麼,因爲這是我唯一的電腦,或者如果任何人都可以告訴我,我是否只是編碼錯誤。C++定義一個類的編譯錯誤函數(Visual Studio)

這裏是我的 「Distance.h」:

#pragma once 

class Distance 
{ 
    private: 
     long length; 

    public: 
     // Transformers 
     void setLength(long newLength); 
     void setFeet(int newFeet); 

     // Observors 
     long getLength(); 
     int getFeet(); 
     int getInches(); 
     double getLengthInFeet(); 
}; 
+0

您是否也有Distance.cpp? –

+0

你已經提供了函數的*聲明*。編譯器抱怨的是它無法找到*定義*。聲明是函數的「簽名」。定義是該函數的代碼。 –

+0

我的distance.cpp到目前爲止只是: #include「Distance.h」 – Iris

回答

0

你必須定義你的類方法。例如:

#pragma once 

class Distance 
{ 
    private: 
    long length; 

    public: 

    //Transformers 
    void setLength(long newLength){ 
    // TODO: define your method here 
    // For instance: length = newLength; 
    } 
    void setFeet(int newFeet){ 
    // TODO: define your method here 
    } 

    //Observors 
    long getLength(){ 
    // TODO: define your method here 
    } 
    int getFeet(){ 
    // TODO: define your method here 
    } 
    int getInches(){ 
    // TODO: define your method here 
    } 
    double getLengthInFeet(){ 
    // TODO: define your method here 
    } 
}; 
+0

非常感謝你! – Iris

+0

補充:既然你提到你有一個Distance.cpp,你應該在那裏寫你的方法定義。 –