
Hi Marcel, On Sat, Jul 30, 2011 at 2:25 PM, Marcel <minusdreidb+boost@gmail.com> wrote:
Hi,
I'm new to boost and units and hope this is not too trivial. If I try to multiply a quantity with a dimensionless factor like
quantity<length> a; quantity<length> b = 2.0 * b;
I get compiler errors due to missing operator*. So I worked around this by using
quantity<length> b = quantity<dimensionless>(2.0) * b;
But I'm wondering if there is a easier and better readable way to do this?
Your first example should work -- in fact, the following works for me on g++4 and VC10 (using boost trunk, but should work with all units versions): #include <boost/units/quantity.hpp> #include <boost/units/systems/si.hpp> using namespace boost::units; int main() { quantity<si::length> a; quantity<si::length> b = 2.0 * a; return 0; } Perhaps a compilable example, boost version, and compiler would aid diagnosis . . . HTH, Nate