
On Sat, Apr 16, 2011 at 6:54 AM, Gevorg Voskanyan <v_gevorg@yahoo.com> wrote:
Beman Dawes wrote:
struct X { boost::mt19937 rng; boost::uniform_int<> million(1,1000000); // VC++ 10 error C2059: syntax error : 'constant' boost::variate_generator<boost::mt19937&, boost::uniform_int<> > random_value(rng, million); };
Why does the example code from the docs fail to compile when placed inside a struct or class? What am I missing?
You can't initialize a class data member like that. boost::uniform_int<> million(1,1000000); is valid in a function body or in namespace-scope, but not in class scope...
Doesn't that create a usage problem because there aren't alternative constructors that do work at class scope? --Beman