c++ - how to write the definition for this method i am getting error -
thanks in advance trying write definition method
customer* getmemberfromid(std::string); this definition wrote getting error saying [error] 'customer' in 'class store' not name type
store:: customer* getmemberfromid(std::string id) { for(int = 0; < members.size(); i++) { customer* c = members.at(i); if(c->getaccountid() == id) { return c; } } return null; }
try
customer* store::getmemberfromid(std::string const& id) hard full minimal, complete, , verifiable example (which should provide), i'm guess getmemberfromid member function of store, customer not member of store, , got confused naming rules.
note swapped (std::string id) (std::string const& id) avoid copy of string, when didn't need it.
then use standard algorithm find_if:
customer* store::getmemberfromid(std::string const& id) { auto foundpos = std::find_if(members.begin(), members.end(), [&](customer* c){ return c->getaccountid() == id; }); return (foundpos==members.end()) ? nullptr : *foundpos; }
Comments
Post a Comment