2014-02-17 63 views
3

我有一些代碼已經在vs2008上工作,我試圖將它移植到vs2012。在這個源代碼中,我使用了指定的函數bind2nd,並使用std :: bind2nd,並且一切正常。當我用vs2012編譯相同的代碼時,我得到一個錯誤,說bind2nd不是std的成員。我檢查了msdn,它說這是「功能」庫的一部分。當我在我的盒子上尋找它時,我發現它不在那裏,但是在xfunction中,當rc_invoked沒有被定義時,包含在函數中。我的第一個想法是我有rc_invoked定義,但我證明它不是。所以,在包含這個bind2nd的鏈應該是std的一部分,我的代碼不應該失敗,但它是。我用完了想法,所以任何想法都會受到歡迎。VS2012 bind2nd不是std的成員

乾杯

+1

您是否包含''標題? 'std :: bind2nd'已被棄用,這意味着它應該仍然存在。 – juanchopanza

回答

1

我沒有MS VC++ 2012,但你應該檢查,也許bind2nd在密閉在的std ::命名一些名字空間定義或有需要,要使用來定義一些清單不斷bind2nd。雖然在程序中明確包含頭文件<functional>,但看起來很奇怪。