2015-11-19 50 views
-3

的矢量以下是我的代碼,我必須將聯繫人存儲在電話簿中。Push_back類型爲

Class contact 
{ 

private: 
    string name; 
    double number; 
    string relation; 
    int phonebookNum; 
public: 
    Contact() 
    Contact(Contact& temp) //copy constructor 

    //set and get functions 

}; 


class phonebook 
{ 
    public: 
    phonebook(); 
    void AddContact(contact temp); 
    ~phonebook(); 

private: 
    string name; 

    vector <contact> vect; 
    int peopleCount = 0; 
}; 

的問題是,在我的.cpp文件時,我聲明我的函數添加聯繫人

void phonebook::AddContact(contact temp) 
{ 
    name = temp.getName(); 
    vect.push_back(temp); 
    peopleCount++; 
} 

在讀vect.push_back(TEMP)的一部分,一個單獨的選項卡中打開了我的代碼塊名稱爲:vector.tcc,並在該文件的某處顯示錯誤

如何創建存儲聯繫人的向量以及如何訪問它們?

+0

發佈有關錯誤的更多詳細信息。雖然它看起來像它的不正確的複製構造函數是造成問題。它應該有'const Contact&'參數 – Nitesh

+1

你的類名稱是'Contact',但你的'電話簿:AddContact'參數是'contact'(小寫字母「c」)。在發佈之前,您應該處理這些基本錯誤。並列出錯誤消息的完整文本。 –

+0

C++區分大小寫; 「聯繫人」和「聯繫人」是不同的名稱。 – molbdnilo

回答

1

您的Contact類有一個大寫C,而您將小寫contact傳遞給方法phonebook::AddContact

聲明這樣

void phonebook::AddContact(Contact temp) 

我也建議你選擇你如何命名你的類的方式你的方法。 混合小寫和大寫的類不是一個好主意。