Какой режим C ++ 0x по умолчанию используется в Visual C ++ 2010 Express? - PullRequest
1 голос
/ 14 июля 2010

Я только что установил Visual C ++ 2010 Express, и у меня сложилось впечатление, что режим по умолчанию включает функции C ++ 0x и библиотеку std :: 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?

1 Ответ

2 голосов
/ 14 июля 2010

ДА: VC10 предоставляет некоторые функции C ++ 0x (auto, decltype, ссылка на r-значение и т. Д.) И std :: tr1 внутри пространства имен std, и это не является обязательным AFAIK.

Тем не менее, вы все равно можете использовать VS2010 с VC9 (у которого нет этих функций), если у вас также установлена ​​его. Для этого просто измените версию компилятора в настройках проекта с 100 (vc10) на 90 (vc9). В этом контексте std :: tr1 будет доступен в пространстве имен std :: tr1.

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