gpt4 book ai didi

C++ Linux : error: ‘move’ is not a member of ‘std’ how to get around it?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:02:57 26 4
gpt4 key购买 nike

所以在我的 VS2010 上我可以编译如下代码:

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)));

前两行在 boost 1.47.0 和 linux 上没问题...但是在 std::move 上它给出了error: ‘move’ is not a member of ‘std’。在 VS2010 上它不需要任何特殊的 header 。所以我想知道它在 linux 上需要哪个 header ,它是否在其 STD 中?如果不是,如何通过 boost 或其他方式绕过它?

最佳答案

要让 g++ 进入 C++11(或 C++0x)模式,你必须在版本 <= 4.6 上添加命令行参数 -std=c++0x,现在您还可以使用 -std=c++11

关于C++ Linux : error: ‘move’ is not a member of ‘std’ how to get around it?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7251251/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com