您的位置:首页 > 其它

现在才知道TR1的错误在VC9的SP1中解决

2010-03-20 12:32 183 查看
作者:朱金灿

来源: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多。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: