Bonjour,
Le code suivant ne compile pas avec le compilateur Keil:
L'erreur avec le compilateur Keil est
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 #include <stdio.h> #include <stdlib.h> struct ip_addr { unsigned int addr; }; typedef struct ip_addr ip_addr_t; struct dhcp { ip_addr_t offered_ip_addr; }; struct netif { ip_addr_t ip_addr; int toto; struct dhcp *dhcp; }; int main() { struct netif *pstNetif; unsigned int ipAddress; pstNetif->ip_addr.addr = 0x8889; ipAddress = pstNetif->dhcp->offered_ip_addr.addr; printf("Hello world!\n"); return 0; }
lorsqu'il y a ipAddress = pstNetif->dhcp->offered_ip_addr.addr;error: #393: pointer to incomplete class type is not allowed
avec le compilateur gcc, ceci compile sans souci (un warning indique bien sur que pstNetif n'est pas utilisé).
Avant de poster, j'ai essayé quelques "workaround" pour attaquer la structure différemment, mais rien n'y fait.
Merci
Partager