zbyt wiele inicjalizatorów dla 'int [0]' c ++

Pierwszy:

int k[] ={1,2,3,4,5};

Druga:

struct slk
{
    int k[] ={1,2,3,4,5};
};

dla tych dwóch stwierdzeń, dlaczego pierwszy przekazuje kompilację, a drugi mnie

error: zbyt wiele inicjalizatorów dla 'int [0]'. kompilacja przejdzie, jeśli ustawię k [5];

Co oznacza ten komunikat o błędzie? Uwaga: kod przetestowany na GNU GCC w wersji 4.7.2

questionAnswers(4)

yourAnswerToTheQuestion