Lower_bound combinando cadeias erradas
Agora estou completamente confuso. Estou pesquisando o dia todo no Google e ainda não consigo entender por que esse código não funciona.
eu tenhovector
dostructs
e aquelesstructs
terstring
propriedade. Quando eu quero adicionar um novostruct
para dentrovector
, como primeiro eu tenho que verificar se umstruct
com o mesmostring
a propriedade já está lá. Se for, não será adicionado.
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
struct Try{
string name;
Try( string name) : name ( name ) { }
bool operator < ( const Try & a ) const
{
return name < a . name;
}
};
int main(){
vector<Try> vektor;
Try *n;
vektor . push_back( Try( "Prague" ) );
n = new Try( "Brno" );
vector<Try>::iterator it = lower_bound( vektor . begin(), vektor . end(), n -> name);
if( it == vektor . end() ){
cout << "not included" << endl;
cout << it -> name << endl;
}
else
cout << "included" << endl;
return 0;
}