所以,在我的VS2010我可以这样进行编译代码:C++ linux:错误:'移动'不是'标准'的成员如何解决它?
boost::shared_ptr<boost::thread> internal_thread;
boost::packaged_task<void> internal_task_w(boost::bind(&thread_pool::internal_run, this, internal_thread));
internal_thread = boost::shared_ptr<boost::thread>(new boost::thread(std::move(internal_task_w)));
第2行是行与升压1.47.0和Linux ......但标准::移动它给error: ‘move’ is not a member of ‘std’
。在VS2010上它不需要任何特殊的头文件。所以我想知道它在Linux上需要哪个头文件,并且它是否在STD中?如果没有如何解决它与提升或什么?
相关:[什么std :: move()是?](http://stackoverflow.com/questions/3413470/what-stdmove-is) – Vache
要回答“哪个头”位,它在'' ,但是你可能会发现很多其他的标准头文件在任何给定的实现中都包含了这些头文件,因此它不需要任何特殊的头文件。 –