2014-02-15 527 views
1

沒有宣佈我試圖解決這個:通過添加錯誤: 'random_device' 在此範圍

QMAKE_CXXFLAGS += -std=c++0x

我.pro文件

c++0x_warning.h:32: Fehler:#error This file requires compiler and library support for the upcoming ISO C++ standard, C++0x. This support is currently experimental, and must be enabled with the -std=c++0x or -std=gnu++0x compiler options.

現在,我得到這個錯誤:

error: 'random_device' was not declared in this scope random_device rd; ^

enter image description here

+0

你的代碼似乎效率低下。如果你每次都需要好的隨機數,那麼你不需要使用隨機引擎(mt19937),但是這樣會很慢。如果你只用random_device初始化一次隨機引擎,而不是每次調用都會更快! – typ1232

+0

@ typ1232謝謝指出..我該如何糾正它? 我應該讓它成爲全球嗎? 「random_device rd; mt19937 mt(rd());」 –

回答

5

請務必包含頭:

#include <random> 

,你可能需要添加的std ::前面random_device,除非已經使用

using namespace std; 
01將映射的'std'映射到您的命名空間

注意:通常最好明確指定std ::而不是將名稱空間映射到默認名稱空間。

+1

已經忘記了命名空間std ..謝謝加載! –