C++容器的迭代器失效规则是什么?
优选地以摘要列表格式.
(注意:这是Stack Overflow的C++常见问题解答的一个条目.如果你想批评在这种形式下提供常见问题解答的想法,那么发布所有这些的元数据的发布将是这样做的地方.这个问题在C++聊天室中受到监控,其中FAQ的想法一开始就出现了,所以你的答案很可能被那些提出想法的人阅读.)
我正在阅读这篇文章:http: //www.cplusplus.com/reference/algorithm/random_shuffle/,并想知道是否有可能对random_shuffle一个int元素数组.这是我的代码
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
cout << a << endl << endl;
random_shuffle(a[0],a[9]);
cout<<a;
}
Run Code Online (Sandbox Code Playgroud)
我收到了这个错误:
error C2893: Failed to specialize function template
'iterator_traits<_Iter>::difference_type *std::_Dist_type(_Iter)'.
Run Code Online (Sandbox Code Playgroud)
我的问题是:
是否可以使用随机数组进行洗牌random_shuffle.如果是,我想学习如何做到这一点.
是否random_shuffle只适用于模板?
我的错误是什么意思?