Преобразование проекта MSVS 2010 в MSVS 2012 RC, но возникает ошибка «Стандарт C++ не предоставляет хэш для этого типа»

У меня проект отлично работает под MSVS 2010 SP1. Я пытаюсь преобразовать его в MSVS 2012 RC. Мне пришлось изменить некоторые вещи, в основном связанные с путями заголовков/библиотек C++ и пользовательскими вещами MFC. Но мне осталось преодолеть одно последнее препятствие.

В MSVC 2010 я использую много unordered_map, int>или map, int>. Он компилируется нормально. Но в MSVS 2012 я просто получаю эту ошибку: «Стандарт C++ не предоставляет хэш для этого типа»

После небольшого поиска в сети я обнаружил, что MSVS 2012 должен быть более близок к стандарту C++11, и что стандарт определяет только хэш функции для базовых типов и 4 определенных строковых типа (среди них stringи wstring, но basic_stringне включены). Поэтому я изменил все basic_stringна wstring, но безрезультатно... Я все еще получаю ту же ошибку.

Что нужно сделать, чтобы снова скомпилировать приложение?

6
задан Attila 22 June 2012 в 11:36
поделиться