I have inherited a C++ project that was written in 2014 and indeed compiles with GCC 4.8. In a particular file, several classes currently found in the <random>
header of C++ standard library are instantiated. These include mt19937
, random_device
, uniform_real_distribution
, and normal_distribution
.
When I compile this file with GCC 7.3, I get an error saying that these classes are not defined in the std
namespace. This error (obviously) goes away when I include <random>
.
My question is why this error does not happen in GCC 4.8? Were these classes previously found under a different header?