隐式声明函数'time'[​​-Wimplicit-function-declaration] |

问题描述:

每当我尝试使用srand功能我得到这个警告隐式声明函数'time'[​​-Wimplicit-function-declaration] |

"implicit declaration of function 'time' [-Wimplicit-function-declaration]|" 

Windows错误报告运行时编译的文件出现,
我是一个新手,C++编程,我在一本教科书上发现了这个,但它对我不起作用。

srand (time()); 
    int x= (rand()%10) +1; 
    int y= (rand()%10) +1; 
    printf("\nx=%d,y=%d", x,y); 

我需要纠正这个问题?

你需要确保你#include正确的头,在这种情况下:

#include <stdlib.h> // rand(), srand() 
#include <time.h> // time() 

如有疑问,请检查手册页:

$ man rand

$ man time

还有一个问题:time()需要一个参数,它可以是NULL,所以你要srand()调用应该是:

srand(time(NULL)); 
+0

谢谢回答..我HV包括stdlib.h中,但包括time.h中它给了我另一个错误 错误后:参数太少函数“时间” – 2013-03-17 07:25:46

+0

我的代码包括像代码在线编译器精品工程pad .. im在我的电脑上使用codeblocks ide – 2013-03-17 07:33:01

+1

现在回答更新以覆盖time()的缺失参数。 – 2013-03-17 07:49:23

注意time()功能同时使用其返回值,并在其地址参数当前时间(自1970年以来以秒表示)。