Удаление вектора из двумерного массива векторов

Есть два двумерных вектора которые перебираются через foreach и если значения совпали, то вектор в векторе удаляется (удаляю целый вектор т.к. он сам состоит из TCHAR), но выдаётся ошибка:

 "отсутствуют экземпляры перегруженная функция "std::vector<_Tp, _Alloc>::erase [с _Tp=std::vector<TCHAR, std::allocator<wchar_t>>, _Alloc=std::allocator<std::vector<TCHAR, std::allocator<wchar_t>>>]", соответствующие списку аргументов"

        //copy arrays for don't damage data (I think it's safer)

        vector<vector<TCHAR>> proccessNow = activeProccessesNow;
        vector<vector<TCHAR>> proccessPreviously = activeProccessesPreviously;


        for (auto Now : activeProccessesNow)
        {
            int i = 0;
            for (auto Previously : activeProccessesPreviously)
            {
                int j = 0;

                if (Previously == Now)
                {
                    proccessNow.erase(i);
                    proccessPreviously.erase(j);
                }
                else{}
            }

        }


Ответы (1 шт):

Автор решения: Mak

плюсам не нравится когда в erase передают просто переменную, поэтому код пришлось усложнить, просто добавив vector.begin() и добавляем нашу переменную

proccessNow.erase(next(proccessNow.begin(),i));
proccessPreviously.erase(next(proccessPreviously.begin(),j));

UPD: Спасибо @Mikhailo за исправление неточного ответа и улучшение кода)

→ Ссылка