当前位置:  开发笔记 > 编程语言 > 正文

const set&的问题.编译器/ STL错误或非​​便携式使用?

如何解决《constset&的问题.编译器/STL错误或非​​便携式使用?》经验,为你挑选了1个好方法。

房子里有语言律师吗?

以下代码应该编译吗?

include 

bool fn( const std::set& rSet )
{
  if ( rSet.find( 42 ) != rSet.end() ) return true;
  return false;
}

在其中一个平台(Sun Workshop)上,这不会编译.它报告find函数返回一个迭代器和返回const_iterator的end函数,并且它们在这些类型之间没有有效的比较运算符.

以下编译:

include 

bool 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()函数.



1> Brian Neal..:

它应该编译.Set包括2个find()函数和2个end()函数(const和非const版本).有点像Sun的STL在某种程度上被打破了.由于传入const引用,编译器应该能够选择正确的find()和end()函数.

推荐阅读
mobiledu2402851323
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有