注册 登录
编程论坛 C++教室

关于srand(time(0));的错误

cstdio 发布于 2018-07-17 13:40, 3789 次点击
srand(time(0))如果包含ctime就会在using ::clock出错
7 回复
#2
rjsp2018-07-17 14:40
贴出代码,贴出编译器给的错误信息,此外无它

程序代码:
#include <cstdlib>
#include <ctime>

int main( void )
{
    srand( static_cast<unsigned>(time(nullptr)) );
}

#3
cstdio2018-07-18 10:17
60    11    C:\Program Files (x86)\Dev-Cpp\MinGW64\lib\gcc\x86_64-w64-mingw32\4.9.2\include\c++\ctime    [Error] '::tm' has not been declared
62    11    C:\Program Files (x86)\Dev-Cpp\MinGW64\lib\gcc\x86_64-w64-mingw32\4.9.2\include\c++\ctime    [Error] '::clock' has not been declared
63    11    C:\Program Files (x86)\Dev-Cpp\MinGW64\lib\gcc\x86_64-w64-mingw32\4.9.2\include\c++\ctime    [Error] '::difftime' has not been declared
64    11    C:\Program Files (x86)\Dev-Cpp\MinGW64\lib\gcc\x86_64-w64-mingw32\4.9.2\include\c++\ctime    [Error] '::mktime' has not been declared
65    11    C:\Program Files (x86)\Dev-Cpp\MinGW64\lib\gcc\x86_64-w64-mingw32\4.9.2\include\c++\ctime    [Error] '::time' has not been declared
66    11    C:\Program Files (x86)\Dev-Cpp\MinGW64\lib\gcc\x86_64-w64-mingw32\4.9.2\include\c++\ctime    [Error] '::asctime' has not been declared
67    11    C:\Program Files (x86)\Dev-Cpp\MinGW64\lib\gcc\x86_64-w64-mingw32\4.9.2\include\c++\ctime    [Error] '::ctime' has not been declared
68    11    C:\Program Files (x86)\Dev-Cpp\MinGW64\lib\gcc\x86_64-w64-mingw32\4.9.2\include\c++\ctime    [Error] '::gmtime' has not been declared
69    11    C:\Program Files (x86)\Dev-Cpp\MinGW64\lib\gcc\x86_64-w64-mingw32\4.9.2\include\c++\ctime    [Error] '::localtime' has not been declared
70    11    C:\Program Files (x86)\Dev-Cpp\MinGW64\lib\gcc\x86_64-w64-mingw32\4.9.2\include\c++\ctime    [Error] '::strftime' has not been declared
6    39    C:\1.cpp    [Error] 'nullptr' was not declared in this scope
6    46    C:\1.cpp    [Error] 'time' was not declared in this scope
#4
cstdio2018-07-18 10:17
dev_c++ 32bit release
#5
cstdio2018-07-18 10:18
重装好多遍都没有用
包含ctime的文件都会编译错误
#6
rjsp2018-07-18 12:56
回复 3楼 cstdio
贴代码,贴代码,贴代码!
如果你用的是2楼给出的代码,你要明确、明确、明确地说出来,不要无聊地打哑谜。

先说“[Error] 'nullptr' was not declared in this scope”吧,你用的编译太老旧了,那就将 nullptr 改为 NULL 吧。
其它的错误,看看你工程目录下是不是有个 time.h 文件,导致编译器错误地include了你这个time.h,而不是系统的time.h
#7
cstdio2018-07-18 13:42
我用的就是2楼的代码
没有time.h文件啊
#8
rjsp2018-07-18 14:35
回复 7楼 cstdio
那你换个目录重建工程试试
1