그래서 내 VS2010에 내가 좋아하는 코드를 컴파일 할 수C++ linux : 오류 : 'move'는 'std'의 멤버가 아닙니다. 어떻게해야합니까?
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와 리눅스로 확인됩니다 ...하지만 표준에이 error: ‘move’ is not a member of ‘std’
을 제공 이동 ::. VS2010에서는 특별한 헤더가 필요 없습니다. 그래서 나는 리눅스에서 어떤 헤더가 필요한지 의문스럽고 어쨌든 그것의 성병에 있는가? 부스트 등으로 주위를 둘러 보는 방법이 아니라면?
관련 항목 : [What std :: move() is?] (http://stackoverflow.com/questions/3413470/what-stdmove-is) – Vache
"어떤 헤더"비트에 대답하려면 '' , 그러나 당신은 다른 많은 표준 헤더들이 주어진 구현에서이를 포함하고 있다는 것을 발견 할 수있다. 따라서 특별한 헤더를 필요로하지 않는다는 인상을 받는다. –