家に語学弁護士はいますか?
次のコードはコンパイルする必要がありますか?
include <set>
bool fn( const std::set<int>& rSet )
{
if ( rSet.find( 42 ) != rSet.end() ) return true;
return false;
}
プラットフォームの 1 つ (Sun Workshop) では、これはコンパイルされません。これは、find 関数が iterator を返し、end 関数が const_iterator を返したこと、およびこれらの型の間に有効な比較演算子がないことを報告しています。
以下はコンパイルします:
include <set>
bool fn( std::set<int>& rSet )
{
if ( rSet.find( 42 ) != rSet.end() ) return true;
return false;
}