出现了一个错误,提示句子中的"time"不是"std"的成员:
std::srand(std::time(0));
<ctime>
和<cstdlib>
已经包含在内。编译器是TDM-GCC MinGW。我遇到了这个错误多次,但仍然无法找出原因。出现了一个错误,提示句子中的"time"不是"std"的成员:
std::srand(std::time(0));
<ctime>
和<cstdlib>
已经包含在内。编译器是TDM-GCC MinGW。我遇到了这个错误多次,但仍然无法找出原因。time(2)
是一个C标准库函数,而不是C++标准库函数。#include <iostream>
#include <ctime>
int main(int argc, char *argv[])
{
auto t = time(nullptr);
std::srand(t);
std::cout << t << "\n";
return 0;
}
time(2)
仍然存在于 std
命名空间之外。那段代码还有两个问题,一个是将 0
而不是 nullptr
作为 time()
的参数,另一个是将 time()
的结果传递给 std::srand()
,但是两者都不应该导致错误。 - Richard