C und gcc-Fehler-array subscript is above array bounds

Ich habe einen deal mit der Struktur einer lib :

typedef struct {
   uint8_t   response_type;
   uint8_t   error_code;
   uint16_t sequence;
   uint32_t resource_id;
   uint16_t minor_code;
   uint8_t major_code;
   uint8_t pad0;
   uint32_t pad[5];
   uint32_t full_sequence;
} a_structure;

mein problem kommt aus dem pad[5] - member der Struktur, die ich nicht wirklich verstehen.
Ich thougth dieses Mitglied kann verwendet werden, als die anderen member in der Funktion wie hier:

uint8_t get_response_type( a_structure * my_struct)
{
   return my_struct->response_type;
}

aber diese Funktion:

uint32_t get_pad_5( a_structure * my_struct)
{
   return my_struct->pad[5];
}

generieren Warnung des gcc

Fehler-array subscript is above array bounds

Kann jemand mir erklären, was das bedeutet ?

Thxs

Ich hatte eine ziemlich convolution code, der gcc es geschafft, herauszufinden, und warnte davor, "Fehler" array subscript is above array bounds. Also auch wenn dieser post problem war offensichtlich, finden diese (aufgrund der geschrieben-matching-Warnung) hat zur Lösung meiner komplexer Problem.

InformationsquelleAutor cedlemo | 2012-10-08

Schreibe einen Kommentar