The same code is working fine on gcc 4.5.2 but when trying to compile it on gcc 4.1.2, I get the error ‘runtime_error’ was not declared in this scope
.
I do have
#include <stdexcept>
Is this a problem with gcc 4.1.2?
Code excerpt
// Constructor
if (resource cannot be acquired)
throw std::runtime_error("Blah Blah");
gcc 4.1 is relatively old. 4.5 is more standard compliant. Maybe you triggered a compiler's bug
Do you have
using namespace std;
orusing std::runtime_error;
? If not, then you need to fully qualify the name and usestd::runtime_error
rather than justruntime_error
.Visual Studio says that
runtime_error
should be defined in<stdexcept>
, so I'm guessing that GCC 4.1.2 is just out of date here.