runtime_error не был объявлен в этой области для g ++ 4.1.2 - PullRequest
8 голосов
/ 03 апреля 2011

Тот же код работает нормально на gcc 4.5.2, но при попытке скомпилировать его на gcc 4.1.2 я получаю ошибку ‘runtime_error’ was not declared in this scope.

У меня есть

#include <stdexcept>

Это проблема с gcc 4.1.2?

Кодовая выдержка

// Constructor
if (resource cannot be acquired)
  throw std::runtime_error("Blah Blah");

Ответы [ 3 ]

6 голосов
/ 03 апреля 2011

Visual Studio говорит, что runtime_error должно быть определено в <stdexcept>, поэтому я предполагаю, что GCC 4.1.2 здесь просто устарел.

5 голосов
/ 03 апреля 2011

У вас есть using namespace std; или using std::runtime_error;?Если нет, то вам нужно полностью указать имя и использовать std::runtime_error вместо runtime_error.

1 голос
/ 03 апреля 2011

gcc 4.1 относительно стар.4.5 более соответствует стандарту.Может быть, вы вызвали ошибку компилятора

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...