【发布时间】:2015-11-02 16:03:34
【问题描述】:
我发现了很多关于这个主题的问题,但所有问题似乎都与不使用 C++ 11 编译有关。我的代码是
#include <random>
int main(int argc, char *argv[]){
std::default_random_engine generator;
return 0;
}
即使我编译了
gcc -std=c++0x testmain.cpp
给出 default_random_engine 不是 std 成员的错误。程序是在远程机器上编译的,我自己不维护,但是
gcc -v
生成 4.4.7 版本。
有什么想法吗?
【问题讨论】:
-
GCC 4.4 版本非常旧,不支持所有 C++11 标准。值得注意的是缺少随机数功能。
-
你能在远程机器上安装任何东西吗?还是安装了
boost? -
使用 Boost 或 TR1 随机库。对于后者,
#include <tr1/random>。我不认为它有default_random_engine,所以你必须使用别的东西,也许是std::tr1::mt19937 -
@Praetorian 对不起,我在看到您的评论之前发布了我的答案。