У мене є наступні класи:
class user
{
...
};
class System : public user
{
private:
vector<Driver*> drivers;
public:
bool find_user(string, string, vector<user*>);
};
class Driver : public user
{
....
};
але при використанні
find_user(UN, "",drivers);
у ньому є помилка компілятора, яка говорить про неправильне відтворення від вектора до вектора. Я буду вдячний, якщо ти мені допоможеш.
Відповіді:
0 для відповіді № 1Ви отримуєте помилку компіляції, оскільки ви намагаєтеся передати один тип (vector<Driver *>
) типу пилу (vector<user *>
) які не конвертовані.
Існує недостатньо контексту для чого find_user
дійсно, щоб відповісти однозначно, але це дозволило б скласти.
template <typename T>
bool find_user(string, string, vector<T*>) { ... };
Або, можливо, ви мали намір вказати змінну члена як:
vector<user *> drivers;
Або працювало б, але це залежить від цього find_user
.