Как написать эту функцию, используемую при поиске ряда элементов в массиве?
Я написал функцию с именем find, которая используется для поиска элемента независимо от того, находится он в массиве или нет. Теперь я хочу использовать find (), чтобы найти серию элементов, если все элементы существуют в этом массиве, то функция вернет true или вернет false:
template <typename T>
template <typename ...Args>
bool Vector<T>::find(const Args &...args) const {
std::deque<bool> findDeque;
findDeque.push_back(this->find(args...)); //The statement will lead to Exception: EXC_BAD_ACCESS (code=2, address=0x...)
auto begin {findDeque.cbegin()};
auto end {findDeque.cend()};
if(begin == end) {
return false;
}
while(begin != end) {
if(!*begin++) {
return false;
}
}
return true;
}
Я пытался:
findDeque.push_back(this->find(args)...);
и
...
bool Vector<T>::find(Args &&...args) const {
...
findDeque.push_back(this->find(std::forward<Args>(args)...));
...
Возможно, я плохо изучил пакет параметров.
Как мне пересмотреть функцию, чтобы она успешно нашла.