Ich benutze CCS v6 und es gab einen Fehler über die Struktur Grammatik.C-Ausdruck muss Zeiger auf Struktur oder Union Typ haben
über dem Code war ursprünglichen Zustand. aber es gab einen Fehler.
So "# 71 unvollständiger Typ ist nicht erlaubt", hatte ich geändert Code "struct MMEM mmem_ptr;" -> "struct MMEM * mmem_ptr;" Wenn ich hatte kompilieren, dass ein Teil übergeben wurde.
Aber ein anderer Teil Fehler aufgetreten ist.
if ((mem_ptr = mac_scan_alloc()) != NULL) {
memcpy(&SCAN_ENTRY(mem_ptr)->oord_addr, src_addr, sizeof(address_t));
SCAN_ENTRY(mem_ptr)->superfrm_spec = superframe_spec;
SCAN_ENTRY(mem_ptr)->coord_pan_id = src_pan_id;
SCAN_ENTRY(mem_ptr)->channel = channel;
}
#define SCAN_ENTRY(m) ((pan_descr_t *)MMEM_PTR(&m->mmem_ptr))
Es gab einen Fehler "133 # Ausdruck muss Zeiger-to-struct-or-Vereinigung hat Typ"
ich schon hatte dieses Problem sah verwandte Frage zu. aber ich konnte das obige Problem nicht lösen. Expression must have pointer to struct or union error
Was soll ich meinen Code beheben, um dieses Problem zu lösen?
Definition von 'SCAN_ENTRY'? –
@EugeneSh .: Es ist bereits gepostet. Wie auch immer, '#define SCAN_ENTRY (m) ((pan_descr_t *) MMEM_PTR (& m-> mmem_ptr))' leidet wahrscheinlich an exzessivem Und-Zeichen. – EOF
Richtig .. aber warum * nach * wird es verwendet? –