0

後で binary_search できるように、文字列のベクトルを次の方法で並べ替えています。

std::vector<std::string> vec;
...........
...........
std::sort(vec.begin(),vec.end());

現在、以下のように検索しています。

if (!std::binary_search(vec.begin(), vec.end(), "SomeString"));
{
    //Not Found
}
else
{
    //Found
}

ただし、binary_search が機能していないようで、ベクターに存在する「文字列」に false を返します。

私は何を間違っているのでしょうか?

4

1 に答える 1

7

この行の最後の文字を見てください。

if(!std::binary_search(vec.begin(),vec.end(),"SomeString"));

あなたはそこに間違った場所を持ってい;ます。取り外して、再度テストしてください。

于 2013-10-21T17:59:10.973 に答える