
Hi! In addition to Steven's remark: May be it relates to minimal example, but why do you need a member pointer here? And why don't you delete it? I think that would be a better approach: ----------------- random2.h ----------------- #ifndef RANDOM_NG_H #define RANDOM_NG_H #include <stdint.h> #include <boost/random.hpp> class randomNumberGenerator { public: randomNumberGenerator( const uint32_t s ); double operator()() { return ran_boost(); } private: boost::mt19937 rng_mt_boost_; boost::uniform_01<boost::mt19937&, double> ran_boost_; }; extern randomNumberGenerator ran2; #endif ----------------- random2.cpp ----------------- #include <iostream> #include <boost/random.hpp> #include "random2.h" randomNumberGenerator ran2; randomNumberGenerator::randomNumberGenerator( const uint32_t s ) : rng_mt_boost_() , ran_boost_(rng_mt_boost_) { rng_mt_boost_.seed( s ); std::cout << ran_boost_() << std::endl; } Regards, Ovanes On Wed, Jul 8, 2009 at 6:46 PM, Steven Watanabe <watanabesj@gmail.com>wrote:
AMDG
Oliver Fochler wrote:
You're creating a local variable here, not initializing the member ran_boost. In Christ, Steven Watanabe