读书人

accumulate()中这个话的了解

发布时间: 2014-01-01 18:12:08 作者: rapoo

accumulate()中这个话的理解
accumulate()
下图中为啥会出现编译错误怎么说的这么不条理阿,求大侠言简意赅的说下


accumulate()中这个话的了解

[解决办法]
这翻译的……语序基本是英语语序
他的意思应该是,第三个参数必须是string类型,所以string("")是可以的,但是如果是""(也就是字符串字面值),那就是const char*类型,编译错误
[解决办法]

引用:
Quote: 引用:

这翻译的……语序基本是英语语序
他的意思应该是,第三个参数必须是string类型,所以string("")是可以的,但是如果是""(也就是字符串字面值),那就是const char*类型,编译错误
那编译为啥错误呢 ?能条理的解释下不


因为参数类型不匹配啊,要求是string你给了个const char*
[解决办法]
template <class InputIterator, class T>
T accumulate (InputIterator first, InputIterator last, T init);

accumulate要求T支持+操做,而char*/char const*不支持+,但是std::string是支持+的。

书比较嗦而已。

读书人网 >C++

热点推荐