【发布时间】:2012-12-11 12:09:55
【问题描述】:
如何使用std::queue 应用std::random_shuffle 算法?我试过这个:
std::random_shuffle(myQueue.front(), myQueue.back());
并给出错误:
- '__i- __first' 中的 'operator-' 不匹配
- '__first != __last' 中的 'operator!=' 不匹配
- “__first + 1”中的“operator+”不匹配
- “++ __i”中的“operator++”不匹配
我的队列持有Card 类,代表扑克牌。我可以理解错误来自std::random_shuffle 对队列元素所做的操作所以,即使我的Card 类不需要!= operator,我写了一个并且错误消失了。
但是我应该如何处理其余的错误?为Card 类写operators +, - and ++ 是没有意义的。
【问题讨论】:
标签: c++ collections queue std shuffle