CRandom::CRandom(){ boost::minstd_rand generator(42u); generator.seed(static_cast(std::time(0))); boost::uniform_real<> uni_dist(0,1); uni_01 = boost::variate_generator > (generator, uni_dist); } class CRandom : public CSingleton{ friend class CSingleton; private: CRandom(); boost::variate_generator > uni_01; public : double Uniform_01(){return uni_01;} }; g++ -o Random.o -c Random.cpp -Wall -ansi Random.cpp: In constructor «CRandom::CRandom()»: Random.cpp:5: erreur: no matching function for call to «boost::variate_generator >::variate_generator()» /usr/include/boost/random/variate_generator.hpp:97: note: candidats sont: boost::variate_generator::variate_generator(Engine, Distribution) [with Engine = boost::minstd_rand&, Distribution = boost::uniform_real] /usr/include/boost/random/variate_generator.hpp:87: note: boost::variate_generator >::variate_generator(const boost::variate_generator >&)/usr/include/boost/random/detail/pass_through_engine.hpp: In member function «boost::random::detail::pass_through_engine& boost::random::detail::pass_through_engine::operator=(const boost::random::detail::pass_through_engine&)»: /usr/include/boost/random/detail/pass_through_engine.hpp:27: erreur: non-static reference member «boost::minstd_rand& boost::random::detail::pass_through_engine::_rng», can't use default assignment operator /usr/include/boost/random/uniform_01.hpp: In member function «boost::uniform_01, double>& boost::uniform_01, double>::operator=(const boost::uniform_01, double>&)»: /usr/include/boost/random/uniform_01.hpp:31: attention : synthesized method «boost::random::detail::pass_through_engine& boost::random::detail::pass_through_engine::operator=(const boost::random::detail::pass_through_engine&)» first required here /usr/include/boost/random/variate_generator.hpp: In member function «boost::variate_generator >& boost::variate_generator >::operator=(const boost::variate_generator >&)»: /usr/include/boost/random/variate_generator.hpp:87: attention : synthesized method «boost::uniform_01, double>& boost::uniform_01, double>::operator=(const boost::uniform_01, double>&)» first required here Random.cpp: In constructor «CRandom::CRandom()»: Random.cpp:12: attention : synthesized method «boost::variate_generator >& boost::variate_generator >::operator=(const boost::variate_generator >&)» first required here make: *** [Random.o] Erreur 1