2017-01-30 45 views
1

請告訴我如何寫定義的功能:如何編寫產品的方法定義* getProductFromID(std :: string);

Product* getProductFromID(std::string); 

void Store:: addMember(Customer* c) 

使用addMember shud成員詳細信息添加到命名的車 載體和我已經試過這樣的事情

void Store:: addMember(Customer* c) 
{ 
    Customer c(std::string n, std::string a, bool pm); 
    members.push_back(n.str()); 
} 

我得到一個錯誤說[Error] 'n' was not declared in this scope

+1

請發表http://stackoverflow.com/help/mcve – Jonas

+0

你將變量聲明爲「Customer c」構造函數的參數。他們應該在外面宣佈,並給予初始價值以實現良好的措施。 – Jonas

+7

@Jonas如果你只是在方括號中輸入MCVE,你會得到一個格式良好的鏈接:[MCVE]。 – BoBTFish

回答

1

此行

Customer c(std::string n, std::string a, bool pm); 

聲明的函數c這三個參數,並返回一個Customer。不是你想要的。

假設一個Customer包含n成員(這確實需要一個更具描述性的名字),該函數將只是看起來像

void Store:: addMember(Customer* c) 
{ 
    members.push_back(c->n.str()); 
} 
+0

我做了你表示感謝建議 現在代碼以這種方式 'void Store :: addMember(Customer * c) { members.push_back(c-> name.str()); }' 我得到一個錯誤,說 \t [錯誤]'std :: string Customer :: name'是私人的 – user1210000

+0

我用它通過我訪問變量的函數得到它謝謝@Bo Persson – user1210000

相關問題