In C, what does a "near-initialization" error mean?
For instance, the following will generate the error:
int a[9] = {{1,2,3},{2,3,4},{3,4,5}}
p.s Why does this example generate the error?
To combine my and @luk32's comments (edit: and @hans-passant).
Your error isn't so much an error, as it is a warning that you have a potential problem. It is near (as in, close by) the element a
(there is no hyphen betyween "near" and "initialization", so the warning is near the element mentionned in the warning message; a "near-initialization" would mean that the element was almost but not quite initialised, which makes no sense).
int a[9] = {{1,2,3},{2,3,4},{3,4,5}}
Basically, you have a 1D array of size 9. But in your initialisation, you are treating it like a 2D 3x3 array. While they take up the same amount of space in memory, they are treated a little differently.
To resolve the problem, you would have to either change the definition:
int a[3][3] = {{1,2,3},{2,3,4},{3,4,5}}
Or the initialisation:
int a[9] = {1,2,3,2,3,4,3,4,5}
Informational link:
Provided by @luk32: http://www.microchip.com/forums/m463491.aspx
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With