metrowerks 코드 워리어 5.5.3으로 boost.thread를 사용하려고합니다. 나는 효과, 스레드가 :: thread_data 두 번 선언 할 것, 볼Metrowerks 컴파일러에서 boost.thread 컴파일 오류를 해결합니다.
class BOOST_THREAD_DECL thread
{
private:
...
template<typename F>
struct thread_data:
detail::thread_data_base
{
F f;
thread_data(F f_):
f(f_)
{}
thread_data(detail::thread_move_t<F> f_):
f(f_)
{}
void run()
{
f();
}
};
...
};
template<typename F>
struct thread::thread_data<boost::reference_wrapper<F> >:
detail::thread_data_base
{
F& f;
thread_data(boost::reference_wrapper<F> f_):
f(f_)
{}
void run()
{
f();
}
};
: 헤더 thread.hpp에, 나는 그가 스레드 :: thread_data을 재정의있어하는 오류가 발생합니다. 거기에 어떤 C++ 기능이 사용됩니까? 컴파일러 결함을 어떻게 극복 할 수 있습니까?
명확하고 정확한 답변을 주셔서 감사합니다. :) – akappa