以下是我的代码:
uniform_int_distribution<>temp(-1,1);
default_random_engine e((unsigned int)time(0));
for(int a=0;a<50;a++){
cout<<temp(e)<<endl;
}
你知道,我预计数字范围是-1,0,1,这三个数字。 实际上结果通常只包含0和1。 如果我多次运行这个程序,那么很少-1号将是最后一次的数字。 我不知道为什么,uniform_int_distribution应该包含-1,对吧?
答案 0 :(得分:4)
这是一个明显已修复的错误:http://connect.microsoft.com/VisualStudio/feedback/details/712984
如果您现在需要解决方法而不安装软件更新,为什么不在0到2之间生成,然后在之后减去1?