C++生成随机数时出现多个初始化错误
C++ Multiple initialization error with generating random numbers
当我运行代码时:
int a;
int b;
int c;
int x;
int y;
int z;
int main()
{
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<int> dis(1, 10000000);
int a = dis(gen);
printf("%d", a);
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<int> dis(1, 10000000);
int b = dis(gen);
printf("%d", b);
它生成"error C2374:"gen":重新定义;多个初始化错误。我该如何解决这个问题?我必须只使用代码的一部分来生成两个不同的数字吗?此外,如果我想将第三个变量的1-10000000更改为1-20,我该怎么做?
std::mt19937 gen(rd());
...
std::mt19937 gen(rd());
不要对gen
进行两次初始化。只做一次。使用不同的变量-使用不同的名称,用于不同的事物。
此外,不要定义全局变量a
、b
、c
、x
、y
和z
。它们完全没用。尽可能在本地定义每个变量。
相关文章:
- 使用默认构造函数引用成员变量初始化错误
- 交换机案例语句中的初始化错误
- 英特尔 MKL 稀疏 QR 求解 C++ 返回未初始化错误
- 在模板类中使用"this"会导致参数初始化错误
- 映射的映射集的映射初始化错误
- C++图形初始化错误(语法或丢失文件缺陷?
- QSQLDATABASE:SIGSEV初始化错误
- 映射的 std::for_each() 给出无效的初始化错误
- 初始化错误过多
- C++初始化错误 std::set
- 简单的类构造函数初始化错误
- 组合框初始化错误:无法读取未定义的属性'constructor'
- OpenCV卡尔曼滤波器初始化错误
- C++11动态数组部分列表初始化(错误或误解)
- C++ 静态变量在发布模式下初始化错误
- Visual Studio 2010 SP1 中的 64 位整数初始化错误
- C++libPNG-简单初始化错误
- 结构数组-初始化错误
- 初始化错误
- 我不断收到函数初始化错误.(运行时检查失败 #3)