#include <random>
int main()
{
using namespace std;
mt19937_64 gen1(random_device()());//fail?
mt19937_64 gen2((random_device()()));//success
mt19937_64 gen3{ random_device()() };//success
mt19937_64 gen4(random_device{}());//success
return 0;
}
编译器在下面给我这些信息,但我仍然不明白为什么我的代码是非法的:
prog.cpp:在函数'int main()'中:
prog.cpp:6:33:错误:'参数'声明为函数返回函数
mt19937_64 gen(random_device()());