我正在将一个大型 C++ COM 项目从 VS2008 移植到 VS2010。有如下一行代码,在我的VS2008项目中编译得很好,但是在VS2010中编译时给出了引用的错误:
std::select2nd<std::map<DWORD, ISomethingUseful*>::value_type>());
编译错误是:
error C2039: 'select2nd' : is not a member of 'std'
我知道这是一个“非标准”函数,但是编写此代码的人最初是在 VS2008 的 std 命名空间中发现它的,而他们使用的任何 #include 在 VS2010 中似乎不再正确。
有谁知道这个功能现在在VS2010中的什么位置?特别是现在需要包含哪个头文件才能使用它?
编辑:为了暂时解决这个问题,我从 VS2008 VC\include\functional 头文件中获取了代码,并包含在我的代码库中(在实用程序类中),如下面的回答中所述。
仍然会感谢其他人能够提供的任何见解!