重複の可能性:
C++ のベクトルのベクトルで「unique()」を使用する
ベクトル上のベクトルで独自のアルゴリズムを使用しようとしています。
私が直面しているエラーは、「ユニークは関数として使用できません」です
問題は、int の法線ベクトルを使用しても、コマンド unique() を使用できないことです。
私がやろうとしているのは、ベクター内の繰り返されるすべてのベクターを消去することです。
それで:
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
void resettaPuntatore(int puntatore, int lunghezza)
{
puntatore = lunghezza;
}
int main()
{
vector<int> v_main;
vector<int> v_reverse;
vector<vector<int> > v_contenitore;
string parola;
int lunghezza_parola;
int puntatore;
cout << "Inserire la parola da permutare.\n";
cin >> parola;
lunghezza_parola = parola.length();
puntatore = lunghezza_parola-1;
for(int i = 0; i < lunghezza_parola; i++)
{
v_main.push_back(i+1);
}
for(int i = 0; i < lunghezza_parola; i++)
{
v_reverse.push_back(v_main[lunghezza_parola-1-i]);
}
while(v_main != v_reverse)
{
v_main[puntatore]++;
if(v_main[puntatore] > lunghezza_parola)
{
v_main[puntatore] = 1;
puntatore--;
}
else
{
resettaPuntatore(puntatore, lunghezza_parola);
}
v_contenitore.push_back(v_main);
}
vector<vector<int> >::iterator itr = unique(v_main.begin(), v_main.end());
}
そして、他のすべてのアイテムを itr からベクターの最後まで消去します
私は何を間違っていますか?