重载函数的调用在使用 srand(time(0)) 时是不明确的

call of overloaded function is ambiguous using srand(time(0))?

本文关键字:time 不明确 srand 调用 函数 重载      更新时间:2023-10-16

>我在程序中使用了srand(time(0))来生成随机数,问题是我的编译器显示一个错误,即对重载的"srand(time_t)"的调用是不明确的,我不知道我做错了什么。请帮忙。我想生成随机数以用于我的扫雷程序,但它给出了此错误。通常在任何其他程序中,我只是简单地输出值,它可以正常工作,但在这种情况下,我将随机值初始化为变量。我不知道该怎么办

这意味着由于某种原因,您在某处声明了非标准重载srand

要么寻找并销毁流氓重载;要么指定std::srand(如果你的标准库实现没有错误);或者将参数类型转换为unsigned int以明确选择标准。

另外,请查看新的C++随机数库:http://en.cppreference.com/w/cpp/numeric/random。它有点复杂,但更灵活,并且没有全球国家的邪恶。