Xcode 的 std::default_random_engine 的替代方案?

Aus*_*tin 2 c++ random xcode compiler-errors

我正在尝试编译我在 Xcode 上的 linux 中编写的程序,并为我使用的随机函数:

std::random_device seed_device;
std::default_random_engine engine(seed_device());
Run Code Online (Sandbox Code Playgroud)

但 default_random_engine 无法在 Xcode 上编译。我应该使用不同的版本吗?

Ban*_*nex 5

你需要#include <random>

一般来说,当编译器抱怨“命名空间中没有命名类型function_namestd”时,您必须检查:

  • 您已包含正确的标题。您可以在任何合适的 C++ 参考文献中查找正确标头的名称。
  • 您的标准库支持 C++1x (*)(或者至少支持您想要的功能)。
  • 您的编译器支持 C++1x (*)(或者至少是您想要的功能),并且如果需要,可以使用正确的标志来启用它。

(*) x 代表包含所需功能的 C++ 标准版本。