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


Respostas:


353

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


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.