VS 2005 ではこのコードは正常に動作しますが、VS 2010 では「'std::queue<_Ty> *' から 'T *' のテンプレート引数を推測できませんでした」というエラーが発生します。
何が問題なのか理解できませんか?私を助けてください...
#include <string>
#include <queue>
using namespace std;
template<typename T, typename R, typename P1>
int bindthis(T* obj, R (T::*func)(P1))
{
return 1;
}
int _tmain(int argc, _TCHAR* argv[])
{
std::queue<std::wstring> queue_;
bindthis(&queue_, &std::queue<std::wstring>::push);
return 0;
}