Boost logo

Ublas :

From: Paul C. Leopardi (paul.leopardi_at_[hidden])
Date: 2007-09-18 20:13:41


Hello Hongyu Miao,
On Mon, 17 Sep 2007, Hongyu Miao wrote:
> Thanks, Paul. I put a "double" before i*A4.size2() and it did work.
> However, I declared i and j to be int, not size_type or unsigned int; so
> the arihmetic conversions should not treat the result as unsigned number,
> am I right? Thanks again.
>
> BTW: I'm using BOOST v1.34.1 and VS 2005 on Windows.

Please read 5.9 again. It says:
"Then, if either operand is unsigned long the other shall be converted to
unsigned long."

You have
i*A4.size2()-j

which is
(int * unsigned long) - int

which becomes
unsigned long - int

which becomes
unsigned long

How long have you been programming in C and C++ and how many other compilers
have you used?
Best, Paul