February 05, 2004
Walter,

The following program produces a Fatal error "internal error blockopt 485".

#include <limits>

class foo
{
    public:
        static double InvalidDouble;
        static long InvalidLong;
};

// The error is on the next line
double foo::InvalidDouble=std::numeric_limits<double>::max();
long foo::InvalidLong=std::numeric_limits<long>::max();

int main()
{
}

I'm running DM C++ 8.39, STL Port 4.5.3.

Paul McKenzie


February 09, 2004
"Paul McKenzie" <paul@paul.net> wrote in message news:bvu7j4$m0i$1@digitaldaemon.com...
> Walter,
>
> The following program produces a Fatal error "internal error blockopt
485".
>
> #include <limits>
>
> class foo
> {
>     public:
>         static double InvalidDouble;
>         static long InvalidLong;
> };
>
> // The error is on the next line
> double foo::InvalidDouble=std::numeric_limits<double>::max();
> long foo::InvalidLong=std::numeric_limits<long>::max();
>
> int main()
> {
> }
>
> I'm running DM C++ 8.39, STL Port 4.5.3.
>
> Paul McKenzie
>
>

Reposted in the beta newsgroup.

I've worked around the problem by using the macros in <limits.h>, but the above code is valid and should have compiled.

Paul McKenzie