У меня есть контейнер курсов * (курсор, конечно), и я пытаюсь искать курс в счетчике по его номеру курса! но ниже код не работаетКак найти элемент из контейнера указателей?
const Course findCourse(const int number) const
{
Container<Course*, std::allocator<Course*> >::iterator ret_iterator =
std::find_if(courses.begin(), courses.end(), FindFromPointer(number));
if (ret_iterator == courses.end()){
return Course::DUMMY_COURSE;
}
return *(ret_iterator);
}
struct FindFromPointer
{
FindFromPointer(int i) : n(i) { }
bool operator()(Course * course) const { return n == course->getNumber(); }
private:
int n;
};
** контейнер: это график, который имеет емкость курсов, определенные выше, что означает, что я класс ведьма содержит Сетевой график контейнер указателя курсов **
template <template <class, class> class Container>
class Schedule {
public:
//<somthing>
//.
//.
private:
Container<Course*, std::allocator<Course*> > courses;
"_Doesn't work_" не является полезным сообщением о неисправности. Что вы пробовали? Какие результаты вы ожидали? и что вы получили? – Rook
Я пытаюсь найти курс по этому курсу (это ключ), в контейнере, у которого есть указатели на курсы! функция вернет элемент, если он будет создан, иначе он будет хорошо возвращать DUMMY_course, основным классом будет расписание, в котором есть контейнер элементов класса (выше) – user3603520
'return * (ret_iterator);' - '* (ret_iterator)' является указатель на «курс», но функция 'findCourse' возвращает сам курс. – borisbn