// I thought I could do this. But it wont compile
I don't know why you thought you could do that. The compiler knows what variables in the structure to store the data in. It doesn't need your help to figure that out.
ErrorStates errors = {
{ 1, "some error" },
{ 2, "some other error" },
}
Of course, this won't compile either, since you are not supplying all the initializers for the structure members, but you can work out what you want the missing values to be and supply them.