Пожалуйста, прочтите новое правило об ограничении использования AI-инструментов. ×

Блог пользователя _Vadim_

Автор _Vadim_, 13 лет назад, По-русски
Никак не могу скомпилить программу с hash_set. 

#include<hash_set>

using namespace std;

using namespace stdext;

Даже после этого пишет 'hash_set' undeclared (first use this function).
Помогите пожалуйста скомпилить программу.

  • Проголосовать: нравится
  • -8
  • Проголосовать: не нравится

13 лет назад, # |
Rev. 2   Проголосовать: нравится +1 Проголосовать: не нравится

В STL по стандарту нету никакого hash_set. Существование его зависит от конкретной реализации компилятора, которую вы не указали.
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    DevC++ 4.9.9.2.

    Компилирую через g++

    • 13 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

      Ну результат компиляции от среды, естественно, никак не зависит. А у g++ версии тоже есть, и они куда важнее. Кажется, с версии 4.3 hash_set перенесли в backward. Подробнее можно тут почитать.
    • 13 лет назад, # ^ |
        Проголосовать: нравится +1 Проголосовать: не нравится
      Ну вот теперь, если погуглите по словам "gcc hash_set", то сможете прочитать следующее:

      Formal deprecation of <ext/hash_set> and <ext/hash_map>, which are now <backward/hash_set> and <backward/hash_map>. This code:
      #include <ext/hash_set>
      __gnu_cxx::hash_set<int> s;

      Can be transformed (in order of preference) to:
      #include <tr1/unordered_set>
      std::tr1::unordered_set<int> s;

      or
      #include <backward/hash_set>
      __gnu_cxx::hash_set<int> s;

      Similar transformations apply to __gnu_cxx::hash_map, __gnu_cxx::hash_multimap, __gnu_cxx::hash_set, __gnu_cxx::hash_multiset.
13 лет назад, # |
Rev. 2   Проголосовать: нравится -8 Проголосовать: не нравится

using namespace stdext; для Visual Studio
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
да я читал вопрос, видимо пропустил эту строчку .