Xcode 4.2 - deklaracja „…” nie będzie widoczna poza tym ostrzeżeniem funkcji

161

Używam klasy Apple Reachability z Apple Sample Code Reachability

w Xcode 4.2 i nowym kompilatorze Apple 3.0 dostaję ostrzeżenie w tej klasie, że

+ (Reachability*) reachabilityWithAddress: (const struct sockaddr_in*) hostAddress;

deklaracja 'struct sockaddr_in ' nie będzie widoczna poza tą funkcją *

Nie jestem dobry w klasycznym C%), więc nie rozumiem, jak mogę naprawić to ostrzeżenie, a może w ogóle mogę je zignorować.

Dzięki

Sergnsk
źródło
2
Zobacz też: stackoverflow.com/a/8684721/449161
Ben Flynn

Odpowiedzi:

353

Dodaj #import <netinet/in.h>Reachability.h, aby uciec od tego

Saurabh
źródło
7
Zapomniałem sformatować go jako kod i usunięto przepełnienie stosu <netinet / in.h> dla mnie :(
Saurabh
3
I uważaj: import istnieje już w Reachability.m - ale jest również potrzebny w Reachability.h
brainray
8
#includenie #import. Ze względu na subtelne różnice między nagłówkami C i Objective-C, należy używać tylko #importdla Objective-C. Pure C powinien nadal być używany #include.
Jonathan Grynspan,
7
#importzapobiegnie dwukrotnemu przeniesieniu nagłówka do jednostki kompilacji. #includepozwoli na to (a następnie makra ochronne są używane do zapobiegania zduplikowanym symbolom). Istnieje kilka nagłówków, które spodziewają się , że zostaną wprowadzone dwukrotnie.
Jonathan Grynspan,
6
Zamiast #import możesz również wykonać deklarację do przodu brakującej struktury. Dodaj pojedynczy „struct sockaddr_in;” wiersz do pliku .h
fishinear,