Xcode 4.2-在此功能警告之外,“…”的声明将不可见


161

我使用苹果可达类从苹果的示例代码 可达

在Xcode 4.2和新的Apple 3.0编译器中,我在此类中得到警告

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

在此功能之外,“ struct sockaddr_in ”的声明将不可见*

我不擅长经典C%),所以我不明白如何解决此警告,或者完全可以忽略它。

谢谢


Answers:


353

添加#import <netinet/in.h>Reachability.h来解决这个问题


7
我忘了将其格式化为代码,而stackoverflow为我删除了<netinet / in.h> :(
Saurabh

3
请注意:导入已存在于Reachability.m中-但在Reachability.h中也需要
导入-brainray

8
#include不是#import。由于C标头和Objective-C标头之间的细微差别,您仅应将其#import用于Objective-C。纯C应该继续使用#include
乔纳森·格林斯潘

7
#import将防止头文件两次进入编译单元。#include将允许它(然后使用保护宏来防止重复的符号。)有些标头希望被引入两次。
乔纳森·格林斯潘

6
除了#import,您还可以对丢失的结构进行前向声明。添加一个“ struct sockaddr_in;” 行到.h文件
fishinear 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.