I have look-up-table as defined below and I\'m making use of GCC. When I compile I get warnings as
warning: braces around scalar initializer
<
In C language it is perfectly legal to use extra braces when initializing a scalar value, as in
int x = { 5 };
even though you won't normally see this in real-life code. In your case you are doing the same thing, except that in your case the scalar value is a member of a larger aggregate.
GCC generates warnings for code like that. It believes that it is possible that you wrote something you didn't intend to write, since braces are most of the time are used to start a multi-part initializer for an aggregate, not a standalone initializer for a scalar.
GCC is definitely screwing things up with its warnings about braces in aggregate initializers. In C language the { 0 } has always been used as an idiomatic universal zero-initializer. At least { 0 } should have been made exempt from brace-related warnings for its idiomatic value.