Xcode 4.2 - declaração de '…' não será visível fora deste aviso de função

161

Eu uso a classe de acessibilidade Apple da Apple Código de exemplo Acessibilidade

no Xcode 4.2 e no novo compilador Apple 3.0, recebo um aviso nesta classe que

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

a declaração de 'struct sockaddr_in ' não será visível fora desta função *

Eu não sou bom no C% clássico), então não entendo como posso corrigir esse aviso ou posso ignorá-lo.

THX

Sergnsk
fonte
2
Veja também: stackoverflow.com/a/8684721/449161
Ben Flynn

Respostas:

353

Adicione #import <netinet/in.h>Reachability.h para se livrar dessa

Saurabh
fonte
7
Eu esqueci de formatá-lo como código e o stackoverflow removeu <netinet / in.h> para mim :(
Saurabh
3
E tome cuidado: a importação já existe no Reachability.m - mas também é necessária no Reachability.h #
brainray
8
#includenão #import. Devido a diferenças sutis entre os cabeçalhos C e Objective-C, você deve usar apenas #importpara Objective-C. Pure C deve continuar a usar #include.
Jonathan Grynspan 10/03/12
7
#importimpedirá que um cabeçalho seja trazido para uma unidade de compilação duas vezes. #includepermitirá isso (e as macros de proteção são usadas para evitar símbolos duplicados.) Há alguns cabeçalhos que esperam ser trazidos duas vezes.
Jonathan Grynspan
6
Em vez do #import, você também pode fazer uma declaração de encaminhamento da estrutura ausente. Adicione um único "struct sockaddr_in;" linha para o arquivo .h
fishinear perto de 06/11/12