我試圖用boost來生成隨機數,而且我很難讓它以一種封裝的方式工作。我有這片在main()的代碼,這允許我使用卷()來生成[0,1)隨機數生成和封裝
boost::mt19937 rng(seed);
boost::uniform_01<> uniform_p;
boost::variate_generator< boost::mt19937, boost::uniform_01<> >
roll(rng, uniform_p);
一個隨機數,現在我想在自己的頭部,堅持這種/ cpp文件,其中一個函數用於獲取種子並創建卷軸,另一個函數用於調用卷軸。但似乎沒有任何東西能看到roll,而且我很確定在調用它的函數超出範圍之後它會超出範圍。我嘗試過使用static和extern,我試過讓一個類的roll部分,所以它不會超出範圍,但似乎沒有任何工作。
我想補充'static'關鍵字爲'twister'和'VA rgen',所以它們不會從目標文件中導出。絕對是在'rand()'中聲明'vargen.get()!= NULL'。 – Greg 2012-08-13 06:52:23
@Greg:謝謝,它已更新。 – Mehrwolf 2012-08-13 07:52:49