Я сейчас работаю над проектом для школы.Код, который я создаю, представляет собой систему банковских счетов.Чтобы получить доступ к различным членам, у меня есть пользователь, который вводит их идентификатор члена, который передается как один из параметров в функцию с именем findMember
.
Вот функция:
int findMember(vector<Member> patron, int memID)
{
int vectorSize;
vectorSize = patron.size();
for (int index = 0; index < vectorSize; index++)
{
if (memID == patron[index].getMemberID())
return index;
}
}
Вот вектор:
vector<Member*> patron; // Vector to store the members.
Вот вызов функции:
int acctID, memberIndex;
cout << "Enter your Account ID: ";
cin >> acctID;
memberIndex = findMember(patron, acctID); // Helps find the index if the current stored member.
patron[memberIndex]->menu(); // Opens the current members
storage location.
Коды ошибок таковы:
Error (active) E0312 no suitable user-defined conversion from "std::vector<Member *, std::allocator<Member *>>" to "std::vector<Member, std::allocator<Member>>" exists
Error C2664 'int findMember(std::vector<Member,std::allocator<_Ty>>,int)': cannot convert argument 1 from 'std::vector<Member *,std::allocator<_Ty>>' to 'std::vector<Member,std::allocator<_Ty>>'
Я искал в интернете E0312, но безуспешнопричина, по которой его бросают.C2664 имел такие же результаты.Где я ошибаюсь с моим кодом?
Также, заранее спасибо.