У меня есть два класса: TJob и Reload_Job. Reload_Job простирается от TJob:нет соответствующей ошибки функции в случае отношения между базовым классом и классом расширения
class reload_job: public TJob
Я получил функцию:
void run_all_threads(std::vector<TJob*> &jobs){...}
и вызов:
std::vector<reload_job*> jobs;
thread_pool->run_all_threads(jobs); //error: No matching function
получил ошибку при этом вызове. Однако, если я изменил форму работы функции в:
void run_all_threads(TJob* job)
и вызов:
reload_job* job;
thread_pool->run_all_threads(job); it work
Не могли бы вы, ребята, помочь мне объяснить то, почему я получил ошибку compling в случае вектора указателя Tjob. Спасибо!
Вектор кошки не является вектором животных, если вы хотите об этом думать. – chris
Компилятор понимает, что вектор кошки является вектором животного. Итак, как я могу передать массив кошки в функцию, которая получает только массив животных? – khanhhh89