Appreciate the rapid speed response. Missed to add a minor detail in my previous email. I understand GCC supports and I also understand that it is must to have the definition for the static const integral when the address is taken ( in other words lvalue being used) and I have already seen the link you sent. What I wanted to understand specificially is, since which version of GCC, GCC started supporting the static const integral to be in-class initialization and doesn't expect explicit definition in implementation file when the address is not used. Jon, This one will be received at your end twice. Missed to cc gcc-help@xxxxxxxxxxx in the first one. Sorry about that. Thanks. Raja Gopal M smrajagopal [at] gmail [dot] com