Я только что установил Экспресс Visual C++ 2010 года, и у меня есть впечатление, что режим по умолчанию включает C++ 0x функции и станд.:: библиотека tr1.
error C2872: 'is_same' : ambiguous symbol
could be 'C:\Program Files\Microsoft Visual Studio 10.0\VC\INCLUDE\type_traits(941) : std::tr1::is_same'
Вы могли подтвердить это? Если это верно, есть ли некоторый способ отключить настройки по умолчанию?
Почему tr1 символы видимы? в заголовках MS существует ли использование?
ДА: VC10 предоставляет некоторые возможности C ++ 0x (auto, decltype, r-value reference и т. Д.) И std :: tr1 внутри пространства имен std, и это не является необязательным AFAIK.
Однако вы все равно можете использовать VS2010 с VC9 (у которого нет этих функций), если он у вас тоже установлен. Для этого просто измените версию компилятора в настройках проекта со 100 (vc10) на 90 (vc9). В этом контексте std :: tr1 будет доступен в пространстве имен std :: tr1.