作者:朱金灿
来源:http://blog.csdn.net/clever101/
习惯了用boost库的function,今天使用VS2005+sp1编译一个程序,用到了std::function,结果出现了:error C2039: "function": 不是"std"的成员的错误,但是我已经#include <functional>了啊!
上网搜了搜,初步判断是VS 2005并不支持std::function。于是安装了VS 2008,再次编译,还是出现编译错误:"function": 不是"std"的
成员。将std::function改为std::tr1::function也不行。
再次上网搜索,才发现TR1的错误在VC9的SP1中解决。请参考:
TR1 Fixes In VC9 SP1
作者还这样说:tr1::function can now store function objects with non-const function call operators. (This was a severe problem.)
VS 2005就已经能支持boost::function了,可见微软的STL不是一般的水,看来改天要试试STLport。另外在网上std::function貌似用得
还不如boost::function多。