All pastes #239685 Raw Edit

Miscellany

public text v1 · immutable
·published 2006-11-05 13:05 UTC
rendered paste body


CRandom::CRandom(){

	boost::minstd_rand generator(42u);
	generator.seed(static_cast<unsigned int>(std::time(0)));
	boost::uniform_real<> uni_dist(0,1);


	uni_01 = boost::variate_generator<boost::minstd_rand&, boost::uniform_real<> > (generator, uni_dist);

}

 


class CRandom : public CSingleton<CRandom>{
    
    friend class CSingleton<CRandom>;

    private: 
		 CRandom();   		 
		 boost::variate_generator<boost::minstd_rand&, boost::uniform_real<> > 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<boost::minstd_rand&, boost::uniform_real<double> >::variate_generator()»
/usr/include/boost/random/variate_generator.hpp:97: note: candidats sont: boost::variate_generator<Engine, Distribution>::variate_generator(Engine, Distribution) [with Engine = boost::minstd_rand&, Distribution = boost::uniform_real<double>]
/usr/include/boost/random/variate_generator.hpp:87: note:                 boost::variate_generator<boost::minstd_rand&, boost::uniform_real<double> >::variate_generator(const boost::variate_generator<boost::minstd_rand&, boost::uniform_real<double> >&)/usr/include/boost/random/detail/pass_through_engine.hpp: In member function «boost::random::detail::pass_through_engine<boost::minstd_rand&>& boost::random::detail::pass_through_engine<boost::minstd_rand&>::operator=(const boost::random::detail::pass_through_engine<boost::minstd_rand&>&)»:
/usr/include/boost/random/detail/pass_through_engine.hpp:27: erreur: non-static reference member «boost::minstd_rand& boost::random::detail::pass_through_engine<boost::minstd_rand&>::_rng», can't use default assignment operator
/usr/include/boost/random/uniform_01.hpp: In member function «boost::uniform_01<boost::random::detail::pass_through_engine<boost::minstd_rand&>, double>& boost::uniform_01<boost::random::detail::pass_through_engine<boost::minstd_rand&>, double>::operator=(const boost::uniform_01<boost::random::detail::pass_through_engine<boost::minstd_rand&>, double>&)»:
/usr/include/boost/random/uniform_01.hpp:31: attention : synthesized method «boost::random::detail::pass_through_engine<boost::minstd_rand&>& boost::random::detail::pass_through_engine<boost::minstd_rand&>::operator=(const boost::random::detail::pass_through_engine<boost::minstd_rand&>&)» first required here
/usr/include/boost/random/variate_generator.hpp: In member function «boost::variate_generator<boost::minstd_rand&, boost::uniform_real<double> >& boost::variate_generator<boost::minstd_rand&, boost::uniform_real<double> >::operator=(const boost::variate_generator<boost::minstd_rand&, boost::uniform_real<double> >&)»:
/usr/include/boost/random/variate_generator.hpp:87: attention : synthesized method «boost::uniform_01<boost::random::detail::pass_through_engine<boost::minstd_rand&>, double>& boost::uniform_01<boost::random::detail::pass_through_engine<boost::minstd_rand&>, double>::operator=(const boost::uniform_01<boost::random::detail::pass_through_engine<boost::minstd_rand&>, double>&)» first required here
Random.cpp: In constructor «CRandom::CRandom()»:
Random.cpp:12: attention : synthesized method «boost::variate_generator<boost::minstd_rand&, boost::uniform_real<double> >& boost::variate_generator<boost::minstd_rand&, boost::uniform_real<double> >::operator=(const boost::variate_generator<boost::minstd_rand&, boost::uniform_real<double> >&)» first required here
make: *** [Random.o] Erreur 1