Boost logo

Boost :

From: Beman Dawes (beman_at_[hidden])
Date: 1999-12-17 20:29:36

At 10:08 PM 12/17/99 -0000, Paul Moore wrote:

>Right. Attached is the final version of rational. I say final, but
the abs()
>stuff is *still* fairly fragile. It works on MSVC, but that's all I
can say.

>I would appreciate comments on how other compilers fare.


Here is a report on compiling rational_example.cpp with Metrowerks
CodeWarrior 5.2:

* #ifdef _MSC_VER is true, causing the Microsoft hacks to be
invoked, which of course fail with the more standards conforming CW

Several companies (Metrowerks, Intel, at least, probably more)
predefine _MSC_VER in an attempt to be compatible. Sigh.

* After commenting out the above, tried again and got:

Error : illegal access to protected/private member
 (instantiating: 'boost::?$abs_at_H(const boost::rational<int> &)')
rational.hpp line 299 return rational<IntType>(abs(r.num),

(r.num) was underlined.

* After commenting out "private:" to hack around the above, the
compile was clean.

* Ran apparently OK with the output:

2 * 2147483647/2=2147483647 (rational: 2147483647/1)
pi = 3.14286 (nearly)

Sorry; I was pressed for time and did nothing more.

Hope the above helps.


Boost list run by bdawes at, gregod at, cpdaniel at, john at