![]() |
1
13
所以,第一个错误是:
在整数列表上定义一个迭代器,并使用它来迭代一个双精度列表。此外,迭代器只能用于非常量列表。你需要一个常量运算符。你应该写:
最后,您忘记返回值。
编辑:
我没看到,但是你把列表作为参考传递,但是把它作为指针使用。所以把所有的
|
![]() |
2
32
很少的事情:
在任何情况下,您只需执行以下操作:
可选检查
|
![]() |
3
4
如何使用 accumulate ? |
![]() |
4
2
除了@pierrebdr answer, 还应检查list->size()是否大于0, 就在这里之前
添加
或将列表作为参数接收的文档不应为空。
|
![]() |
5
2
与其进行编辑以确保迭代器引用相同类型的列表,不如将代码编写为一种通用算法,迭代器类型作为模板参数。
我也会注意到
我会写一些代码,比如:
这是通用的,因此当您意识到这一点时,它将继续工作(不变)。
当然,缓存会影响这一点——当您平均一个小列表时,第一次遍历会将整个列表拉入缓存,因此第二次遍历通常会更快(因此消除第二次遍历不会节省那么多时间)。 |
![]() |
6
1
你通过了
|
![]() |
7
1
正如Maurits Rijk所说,您还没有返回avg。此外,编译时还使用了哪些错误? |
![]() |
8
1
自从
另外,正如其他人所指出的,列表及其迭代器的模板类型参数都需要匹配:要么
|
![]() |
9
1
|