c++类实现中如何生成随机数
因为对成员变量初始化时需要用到随机数,但是在类实现中设置时间种子时报错,这是为什么呢?#include<iostream>#include<ctime>#incldue<...
因为对成员变量初始化时需要用到随机数,但是在类实现中设置时间种子时报错,这是为什么呢?
#include <iostream>
#include <ctime>
#incldue <cstdlib>
using namespace std;
srand(time(NULL));//报错,提示error: expected constructor, destructor, or type conversion before '(' token|
namespace A
{
<具体代码省略>
} 展开
#include <iostream>
#include <ctime>
#incldue <cstdlib>
using namespace std;
srand(time(NULL));//报错,提示error: expected constructor, destructor, or type conversion before '(' token|
namespace A
{
<具体代码省略>
} 展开
2个回答
展开全部
srand(time(NULL));
这句话是调用的srand函数,或者说是需要执行的语句,所以应该放在main函数里,或者某个函数内。(一般放在main函数内)
另外time(NULL)仍然是每次种子都一样吧,可以改为time(0)
这句话是调用的srand函数,或者说是需要执行的语句,所以应该放在main函数里,或者某个函数内。(一般放在main函数内)
另外time(NULL)仍然是每次种子都一样吧,可以改为time(0)
追问
NULL不就是相当于0吗。。。不太懂。不是取系统时间作为种子吗,每次运行的时候,取的系统时间都不一样啊
追答
NULL不相当于0
刚测试了下,是我记错了,NULL和0都是可以的。每次生成的是不一样的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询