2014-02-17 7 views
3

У меня был код, уже работающий на vs2008, и я пытаюсь его перенести в vs2012. В этом исходном коде я использую функцию bind2nd, указанную и использующую std :: bind2nd, и все работает отлично. Когда я компилирую тот же код с vs2012, я получаю сообщение об ошибке, что bind2nd не является членом std. Я проверил msdn, и он говорит, что это часть «функциональной» библиотеки. Когда я ищу его на своем ящике, я узнал, что его нет там, но в xfunctional, который включен в функционал, когда rc_invoked не определен. Моя первая мысль заключалась в том, что я определил rc_invoked, но я доказал, что это не так. Итак, следуя цепочке включений, этот bind2nd должен быть частью std, и мой код не должен терпеть неудачу, но это так. У меня заканчиваются идеи, поэтому любая мысль будет приветствоваться.VS2012 bind2nd не является членом std

Приветствия

+1

Вы включили заголовок ''? 'std :: bind2nd' устарел, что означает, что он все равно должен быть там. – juanchopanza

ответ

1

У меня нет MS VC++ 2012, но вы должны проверить, что, возможно, bind2nd определяется в некотором пространстве имен, заключенный в станд :: пространства имен или есть некоторая манифеста константа, которая должна быть определена, что использование bind2nd. Хотя это выглядит странно, если вы явно включили заголовок <functional> в свою программу.

 Смежные вопросы

  • Нет связанных вопросов^_^