房子里有语言律师吗?
以下代码应该编译吗?
includebool fn( const std::set & rSet ) { if ( rSet.find( 42 ) != rSet.end() ) return true; return false; }
在其中一个平台(Sun Workshop)上,这不会编译.它报告find函数返回一个迭代器和返回const_iterator的end函数,并且它们在这些类型之间没有有效的比较运算符.
以下编译:
includebool fn( std::set & rSet ) { if ( rSet.find( 42 ) != rSet.end() ) return true; return false; }
Brian Neal.. 9
它应该编译.Set包括2个find()函数和2个end()函数(const和非const版本).有点像Sun的STL在某种程度上被打破了.由于传入const引用,编译器应该能够选择正确的find()和end()函数.
它应该编译.Set包括2个find()函数和2个end()函数(const和非const版本).有点像Sun的STL在某种程度上被打破了.由于传入const引用,编译器应该能够选择正确的find()和end()函数.