nie znalazł niczego w powiązanych pytaniach. Najprawdopodobniej jest to bardzo noobem, ale poproszę anyway/Mam następujących w moim pliku .h:C: typedef union
typedef union _API_Packet_0x90{
uint8_t packet[26];
struct _pack_struct {
uint8_t start;
uint8_t length[2];
uint8_t addr64[8];
uint8_t addr16[2];
uint8_t options;
uint8_t rfData[4];
uint8_t chksum;
};
} API_Packet_0x90;
API_Packet_0x90 ap90;
Jest to kod dla mikrokontrolera, używam toolchain xc8 (dawniej Hi Tech C). Kompilator mówi:
xbee_api.h:19: warning: missing basic type; int assumed
xbee_api.h:19: error: ";" expected
xbee_api.h:19: warning: missing basic type; int assumed
xbee_api.h:21: warning: missing basic type; int assumed
, a to idzie na (zbyt wielu błędów)
Myślałem, że to uint8_t, więc dodałem #include <ctypes.h>
. Nie. Myślałem, że chodzi o nazwy, więc próbowałem wszystkie rodzaje sztuk takich jak
typedef union {
uint8_t packet[26];
struct _pack_struct {
};
} API_Packet_0x90;
lub
typedef union {
uint8_t packet[];
struct _pack_struct {
};
} API_Packet_0x90;
lub innych. Nic nie pomaga. Utknąłem, ponieważ uważam, że poprawnie stosuję składnię. Jakaś pomoc?
Skąd wiesz, że dodałeś zdefiniowany uint8_t? Może spróbuj dodać 'typedef unsigned char uint8_t;' przed tą definicją ... albo pomoże, albo będzie narzekać, że zmieniacie ją. – Matthieu
Prawdopodobnie potrzebujesz '#include' dla 'uint8_t'. –
'xbee_api.h: 19:' czy możesz również podać numery linii twojego kodu? co najmniej numer pierwszego wiersza? Żebyśmy wiedzieli, która linia daje problem. – anishsane