#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 + +0,표준 생성기를 STL 함수에 전달하는 방법은 무엇입니까?
/usr/include/c++/4.9.2/bits/random.h:546:7: note: candidate expects 0 arguments, 1 provided
제대로 그 일의 어떤 방법을 종료 거대한 컴파일러 덤프를 수신?
'std :: shuffle'을 사용하십시오. – chris
Thx, 매력처럼 일했습니다. 나를 받아들이 기 위해 답으로 게시 할 수 있습니까? – whoever
래퍼 함수 또는 람다를 사용할 수 있습니다. 'RandomFunc' 매개 변수는 자체적으로'n' 매개 변수를 취할 것으로 예상하고 C++ 11 난수 기능은 모두 해당 인스턴스에 구워진 범위 매개 변수를 갖습니다. 하지만 크리스의 대답이 가장 좋습니다. – Rook