【发布时间】:2014-11-19 12:47:30
【问题描述】:
#include <random>
#include <algorithm>
#include <vector>
int main() {
std::vector < int > a = {1, 2, 3};
std::mt19937 generator;
std::random_shuffle(a.begin(), a.end(), generator);
}
我正在尝试使用 g++ -std=c++0x 编译此代码,收到一个以
结尾的巨大编译器转储/usr/include/c++/4.9.2/bits/random.h:546:7: note: candidate expects 0 arguments, 1 provided
有什么正确的方法吗?
【问题讨论】:
-
谢谢,工作就像一个魅力。您能否将其发布为答案以便我接受?
-
您可以使用包装函数或 lambda;
RandomFunc参数期望的东西本身将采用参数n,并且 C++11 随机数工具都将它们的范围参数烘焙到它们的实例中。但当然,克里斯的回答是最好的。