accumulate()中这个话的理解

方紫涵 2013-12-19 02:52:19
accumulate()
下图中为啥会出现编译错误怎么说的这么不条理阿,求大侠言简意赅的说下



...全文
115 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
mujiok2003 2013-12-19
  • 打赏
  • 举报
回复
引用 5 楼 mujiok2003 的回复:
template <class InputIterator, class T>
   T accumulate (InputIterator first, InputIterator last, T init);
accumulate要求T支持+操做,而char*/char const*不支持+,但是std::string是支持+的。 书比较啰嗦而已。
具体看看:http://www.sgi.com/tech/stl/accumulate.html
mujiok2003 2013-12-19
  • 打赏
  • 举报
回复
template <class InputIterator, class T>
   T accumulate (InputIterator first, InputIterator last, T init);
accumulate要求T支持+操做,而char*/char const*不支持+,但是std::string是支持+的。 书比较啰嗦而已。
你怎么了熊吉 2013-12-19
  • 打赏
  • 举报
回复
引用 3 楼 xwhbwas2008 的回复:
[quote=引用 1 楼 czarten 的回复:] 这翻译的……语序基本是英语语序 他的意思应该是,第三个参数必须是string类型,所以string("")是可以的,但是如果是""(也就是字符串字面值),那就是const char*类型,编译错误
那编译为啥错误呢 ?能条理的解释下不[/quote] 因为参数类型不匹配啊,要求是string你给了个const char*
方紫涵 2013-12-19
  • 打赏
  • 举报
回复
引用 1 楼 czarten 的回复:
这翻译的……语序基本是英语语序 他的意思应该是,第三个参数必须是string类型,所以string("")是可以的,但是如果是""(也就是字符串字面值),那就是const char*类型,编译错误
那编译为啥错误呢 ?能条理的解释下不
derekrose 2013-12-19
  • 打赏
  • 举报
回复
这本书扔了吧
你怎么了熊吉 2013-12-19
  • 打赏
  • 举报
回复
这翻译的……语序基本是英语语序 他的意思应该是,第三个参数必须是string类型,所以string("")是可以的,但是如果是""(也就是字符串字面值),那就是const char*类型,编译错误

64,639

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧