> 
> I'm forwarding this message from a coworker.
> He ran into this regression bug with GCC 4.0.1 (it works correctly in 
> 3.4.1).
> The conditional operator expression isn't handling static consts 
> correctly resulting in linker errors since it is trying to resolve to 
> statics that were never defined.
> 
> struct Foo
> {
>     static const int    a   = 1;
>     static const int    b   = 2;
> };
>  
>  
> inline  void    foo(bool v)
> {
>     std::cout << ((v) ? (Foo::a) : (Foo::b));
> }


This is not a bug.  You still need to do:

const int Foo::a;
const int Foo::b;

For this to be valid C++.


-- Pinski

Reply via email to