-3

我正在尝试使用 mersenne_twister_engine 生成 64 位随机数,但是当我尝试包含#include <random>时,编译器会给出如下所示的警告

/usr/include/c++/4.6/bits/c++0x_warning.h:32:2: error: #error 此文件需要编译器和库支持即将推出的 ISO C++ 标准 C++0x。此支持目前是实验性的,必须使用 -std=c++0x 或 -std=gnu++0x 编译器选项启用。制作:* [fuse.o] 错误 1

我怎样才能解决这个问题?

4

2 回答 2

5

...并且必须使用-std=c++0xor-std=gnu++0x编译器选项启用。

你没读过那一点吗?您需要将其中一个添加到编译器命令行(或者,如果您使用的是 IDE,则您的 IDE 使用任何方法来设置选项)。可以在此处找到有关 gcc 中 C++11 支持的详细信息。

例如(命令行编译),如果您当前的命令是

g++ -o myprog myprog.cpp

你会把它改成类似

g++ -std=c++0x -o myprog myprog.cpp
于 2013-07-21T05:07:30.363 回答
1

random在 C++11 中引入,因此将其添加到您的 g++ 选项中:

--std=c++0x

或者

--std=gnu++0x

该选项可能在您的生成文件中。

于 2013-07-21T05:06:05.270 回答