Xcode 4.2 - объявление «…» не будет видно за пределами этой функции предупреждения

161

Я использую класс Apple Reachability из Apple Пример кода Reachability

в Xcode 4.2 и новом компиляторе Apple 3.0 я получаю предупреждение в этом классе, что

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

объявление 'struct sockaddr_in ' не будет видно за пределами этой функции *

Я не очень хорош в классическом C%), поэтому я не понимаю, как я могу исправить это предупреждение, или, может быть, я могу игнорировать его вообще.

Спасибо

Sergnsk
источник
2
Смотрите также: stackoverflow.com/a/8684721/449161
Бен Флинн

Ответы:

353

Добавьте #import <netinet/in.h>в Reachability.h чтобы сойти с рук

Саурабх
источник
7
Я забыл отформатировать его, так как код и stackoverflow удалены <netinet / in.h> для меня :(
Saurabh
3
И будьте осторожны: импорт уже существует в Reachability.m - но он также необходим в
Reachability.h
8
#includeНе #import. Из-за тонких различий между заголовками C и Objective-C, вы должны использовать только #importдля Objective-C. Pure C следует продолжать использовать #include.
Джонатан Гринспан
7
#importпредотвратит перенос заголовка в блок компиляции дважды. #includeразрешит это (а затем защитные макросы будут использованы для предотвращения дублирования символов). Есть несколько заголовков, которые ожидают ввода дважды.
Джонатан Гринспан
6
Вместо #import вы также можете сделать предварительное объявление отсутствующей структуры. Добавьте единственный "struct sockaddr_in;" строка в файл .h
fishinear