私はboost.threadをmetrowerks codewarrior 5.5.3で使用しようとしています。ヘッダ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が2回宣言しているように見える、ことがわかります。 そこにはどのようなC++機能が使われていますか?コンパイラの不足をどうやって克服できますか?
ありがとうございました。 – akappa