J'essaie d'utiliser boost.thread avec metrowerks codewarrior 5.5.3; dans le thread.hpp d'en-tête, je reçois l'erreur qu'il redéfinit fil :: thread_data:Résoudre l'erreur de compilation boost.thread avec le compilateur Metrowerks
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();
}
};
Je vois que, en effet, le fil :: thread_data semble être déclarée deux fois. Quelle fonction C++ est utilisée? Comment puis-je surmonter cette lacune du compilateur?
Merci beaucoup pour la réponse claire et précise :) – akappa