On Saturday 17 June 2006 22:06, Jon S. Berndt wrote:
> > In file included from ../../simgear/math/SGMath.hxx:32,
> > from ../../simgear/math/point3d.hxx:54,
> > from ../../simgear/math/sg_types.hxx:41,
> > from sg_socket.hxx:39,
> > from socktest.cxx:6:
> > ../../simgear/math/SGQuat.hxx:134:35: macro "min" requires 2
> > arguments, but only 1 given
>
> Here is the offending code for the first error:
>
>
> /// Create a quaternion from the angle axis representation where the
> angle /// is stored in the axis' length
> static Squat fromAngleAxis(const SGVec3<T>& axis)
> {
> T nAxis = norm(axis);
> if (nAxis <= SGLimits<T>::min())
> return SGQuat(1, 0, 0, 0);
> T angle2 = 0.5*nAxis;
> return fromRealImag(cos(angle2), T(sin(angle2)/nAxis)*axis);
> }
>
>
> Is it legal to call a "min" function with no arguments? The compiler
> doesn't seem to think so, at least.
Perfectly legal.
That is a static member of SGLimits<T> that is basically the same than
std::numeric_limits. That in turn has a min static member.
On windows, you have that nasty windows.h header defining a min and max macro
that will interfere with the ISO C++ standard.
Dig into the windows headers, there is a way to avoid windows.h defining that
macro.
Greetings
Mathias
--
Mathias Fröhlich, email: [EMAIL PROTECTED]
_______________________________________________
Flightgear-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/flightgear-devel