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

如何使用std :: shuffle以随机顺序混合带有唯一指针的向量?

如何解决《如何使用std::shuffle以随机顺序混合带有唯一指针的向量?》经验,为你挑选了1个好方法。

我正忙着编写纸牌游戏.对于这个纸牌游戏,我想要洗牌.套牌是一个独特的指针矢量,看起来像这样:

std::vector> _deck;

我尝试使用shuffle函数得到一个随机序列但是我得到了以下错误:"没有函数模板实例"std :: shuffle"匹配参数向量".".查看下面的代码块以获取参数.

std::shuffle(_buildings_deck.begin(), _buildings_deck.back(), std::default_random_engine{});

据我所知,我使用的参数是正确的,我仍然需要选择随机引擎,但这不应该是问题.所以我想知道是否可以使用shuffle随机排序一个唯一指针的向量,如果是这样的话怎么样?



1> 小智..:

std :: shuffle()期望随机访问迭代器为std :: vector.你必须用std :: vector替换std :: list.

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