string str = cpy[i].second;
itr = find(v.begin(), v.end(), str);
auto pos = distance(v.begin(), itr);
//auto pos = itr - v.begin();
if(pos >= v.size()/2)
cout << str << " ";
else
cout << "-" << " ";
cpy
Hier ist ein vector
von int
und string
Paar, d.h, vector<pair<int,string>>cpy
. Der obige Teil gibt einen Fehler, dass "pos keinen Namen nennt.".
Wie man es löst?Vergleichen Vektor mit ganzzahligen Iterator
Können Sie ein [minimales, vollständiges und überprüfbares Beispiel] (https://stackoverflow.com/help/mcve) bereitstellen? – CoryKramer
Klingt so, als würden Sie im C++ 03-Modus kompilieren, wobei der Compiler denkt, dass 'auto' ein Speicherklassen-Spezifizierer ist. – Quentin