2012-02-09 34 views
0

我想改變我的應用程序中的隨機種子,但Qt Creator對我說:「c:\ qt \ 2010.05 \ mingw \ bin ../ lib/gcc /mingw32/4.4.0/include/c++/ctime:62:error:':: clock_t'尚未聲明srand(time(NULL))與MinGW/Qt

c:\ qt \ 2010.05 \ mingw \ bin ../ lib/gcc/mingw32/4.4 .0/include/C++/ctime:66:error:':: clock'尚未聲明

c:\ qt \ 2010.05 \ mingw \ bin ../ lib/gcc/mingw32/4.4.0/include/C++/ctime:67:error:':: 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 /包括/ C++ /的ctime:69:錯誤: '::時間' 尚未聲明

C:\ QT \ 2010.05 \ MinGW的\ BIN ../的lib/GCC/mingw32的/ 4.4.0 /包括/ C++ /的ctime:70:錯誤: ':: asctime' 尚未聲明

C: \ qt \ 2010.05 \ mingw \ bin ../ lib/gcc/mingw32/4.4.0/include/C++/ctime:71:error:':: ctime'尚未聲明

c:\ qt \ 2010.05 \ mingw \ bin ../ lib/gcc/mingw32/4.4.0/include/C++/ctime:72:error:':: gmtime'尚未聲明

C:\ QT \ 2010.05 \ mingw的\ BIN ../ LIB/GCC /的mingw32/4.4.0 /包括/ C++ /的ctime:73:錯誤: '::本地時間' 尚未聲明

Ç :\ qt \ 2010.05 \ mingw \ bin ../ lib/gcc/mingw32/4.4.0/include/C++/ctime:74:error:':: strftime'尚未聲明「

我有: #include <cstdlib> #include <ctime> 這很奇怪,因爲用VC++編譯相同的代碼!

謝謝!

+0

您能否顯示失敗的代碼?更好:一個(儘可能)減少的例子,仍然以相同的方式失敗。 – swalog 2012-02-09 14:12:33

+0

我不能在其他項目中工作,我不明白爲什麼在這個項目中不起作用 – Guillaume 2012-02-09 14:45:41

+0

你是否在用sd ::調用srand之前?一個不編譯的簡短例子確實會有所幫助。 – kenrogers 2012-02-09 15:17:50

回答

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(); 

      [.....] 
    } 
} 
0

檢查所有包含,因爲您可能沒有得到正確的包含文件。確保你沒有包含你自己的time.h版本,在嵌套包含的某個地方。

相關問題