我想在我的应用程序中更改随机种子,但Qt Creator对我说“c:\ qt \ 2010.05 \ mingw \ bin ../ lib / gcc / mingw32 / 4.4.0 / include / c ++ / ctime:62:错误:':: clock_t'尚未声明
c:\ qt \ 2010.05 \ mingw \ bin ../ lib / gcc / mingw32 / 4.4.0 / include / c ++ / ctime:66:错误:':: clock'尚未声明
c:\ qt \ 2010.05 \ mingw \ bin ../ lib / gcc / mingw32 / 4.4.0 / include / c ++ / ctime:67:错误:':: difftime'尚未声明
c:\ qt \ 2010.05 \ mingw \ bin ../ lib / gcc / mingw32 / 4.4.0 / include / c ++ / ctime:68:错误:':: mktime'尚未声明
c:\ qt \ 2010.05 \ mingw \ bin ../ lib / gcc / mingw32 / 4.4.0 / include / c ++ / ctime:69:错误:':: time'尚未声明
c:\ qt \ 2010.05 \ mingw \ bin ../ lib / gcc / mingw32 / 4.4.0 / include / c ++ / ctime:70:错误:':: asctime'尚未声明
c:\ qt \ 2010.05 \ mingw \ bin ../ lib / gcc / mingw32 / 4.4.0 / include / c ++ / ctime:71:错误:':: ctime'尚未声明
c:\ qt \ 2010.05 \ mingw \ bin ../ lib / gcc / mingw32 / 4.4.0 / include / c ++ / ctime:72:错误:':: gmtime'尚未声明
c:\ qt \ 2010.05 \ mingw \ bin ../ lib / gcc / mingw32 / 4.4.0 / include / c ++ / ctime:73:错误:':: localtime'尚未声明
c:\ qt \ 2010.05 \ mingw \ bin ../ lib / gcc / mingw32 / 4.4.0 / include / c ++ / ctime:74:错误:':: strftime'尚未声明“
我包括:#include <cstdlib> #include <ctime>
这很奇怪,因为用VC ++编译相同的代码!
谢谢!
答案 0 :(得分:0)
#include <cstdlib>
#include <ctime>
#include "Coloration.h"
class Glouton : public Coloration
{
public:
//Fonctions
virtual void colorier(Graphe*);
};
#include "Glouton.h"
void Glouton::colorier(Graphe* g)
{
srand((unsigned)time(0));
vector<Sommet*> liste = g->getSommets();
int nbr_sommets = liste.size();
int sommets_color = 0;
int random = 0;
int couleur_max = 0;
vector<int> tab;
while(sommets_color != nbr_sommets)
{
random = rand()%liste.size();
[.....]
}
}
答案 1 :(得分:0)
检查所有包含内容,因为您可能无法获取正确的包含文件。确保您没有在嵌套包含的某个地方包含您自己的time.h版本。
答案 2 :(得分:0)
由于您使用的是Qt,因此您可能想使用Qt RNG API(来自Qt 5.10)来生成随机数。使用硬件工具,即使没有种子,它也可以生成具有加密质量的真正随机数。参见:QRandomGenerator。