Внутри класса не удаляет дубляжи из вектора целых чисел

Рейтинг: 0Ответов: 0Опубликовано: 20.10.2014

В комментарии кода пометил ошибку:

#include <string>
#include <vector>
#include <algorithm>
#include <iterator>

typedef std::vector<int> IntVector;

......................здесь есть функции..............

void UniqueIntVector(IntVector & iv){
std::sort(iv.begin(), iv.end());
iv.erase(unique(iv.begin(), iv.end()), iv.end());
}

class ComparingArray{
std::vector<IntVector> theGeneralVector;
private:
public:
ComparingArray(){};
~ComparingArray(){};

void PushDividers(const std::string str, const char div);
void PopDividers();

int GetMaxGeneralDivider();

bool IsNull() const;
 };

 void ComparingArray::PushDividers(const std::string str, const char div){
StringVector sv;
IntVector iv;

StringToVector(sv, str, div);
StringVectorToIntVector(iv, sv);

theGeneralVector.push_back(iv);
 }

 void ComparingArray::PopDividers(){
theGeneralVector.pop_back();
 }

 int ComparingArray::GetMaxGeneralDivider(){
if (!theGeneralVector.size())
    return 0;

for (int i = 0; i < (int)theGeneralVector.size(); i++)
    UniqueIntVector(theGeneralVector[i]); // не удаляет дубликаты!!!!!!!

return 0;
}

bool ComparingArray::IsNull() const{
     if ((theGeneralVector.size() == 0) || (theGeneralVector.size() == 1))
         return true;
 else
     return false;
}

Извиняюсь, если кому надоел.

Ответы

Ответов пока нет.