3
我想用metrowerks codewarrior 5.5.3使用boost.thread;在头thread.hpp,我得到的错误,他是重新定义线程:: 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_data似乎申报两次。 那里使用了哪些C++功能?我如何克服编译器缺陷?
非常感谢您的明确和准确的答案:) – akappa 2009-07-10 13:41:19