------- Comment #3 from dennis0yang at gmail dot com  2007-05-12 09:29 -------
Subject: Re:  fail to link to static const double

I understand that the standard only specifies that static const for 
integral type can be assigned within the class. My point is that if gcc 
decides to allow the extension of assigning static const double within 
the class (good extension, I don't see why this is not in the 
standard.), then it should allow me to link to it. Note the code works 
if I change "y=-x" to "y= -1 * x", so it is clearly a bug.

I also tried your suggestion before submitting the bug report. It does 
work. But I really do not want to create a .cpp file just to put that 
one line in it, much prefer to leave everything in the .h file.

fang at csl dot cornell dot edu wrote:
> ------- Comment #1 from fang at csl dot cornell dot edu  2007-05-12 09:06 
> -------
> You need to define Base::x out of class in some translation unit, the in-class
> declaration alone isn't enough, though sometimes the compiler will elide the
> reference to it if its value is known (optimization).
>
> const double Base::x = 1.0;
>
>
>   


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31904

Reply via email to