Есть ли в доме языковые юристы?
Должен ли следующий код компилироваться?
include <set>
bool fn( const std::set<int>& rSet )
{
if ( rSet.find( 42 ) != rSet.end() ) return true;
return false;
}
На одной из платформ (Sun Workshop) это не компилируется. Он сообщает, что функция find возвратила итератор и функцию end, которая возвратила const_iterator, и что у нее нет действительного оператора сравнения между этими типами.
компилируется следующее:
include <set>
bool fn( std::set<int>& rSet )
{
if ( rSet.find( 42 ) != rSet.end() ) return true;
return false;
}