我继承了一个 2014 年编写的 C++ 项目,并且确实使用 GCC 4.8 进行编译。在一个特定的文件中,当前在<random>
C++ 标准库的头文件中找到的几个类被实例化。其中包括mt19937
、random_device
、uniform_real_distribution
和normal_distribution
。
当我使用 GCC 7.3 编译此文件时,我收到一条错误消息,指出这些类未在std
命名空间中定义。当我包含<random>
.
我的问题是为什么在 GCC 4.8 中不会发生此错误?这些类以前是在不同的标题下找到的吗?