【问题标题】:Xcode 4.2 - declaration of '...' will not be visible outside of this function warningXcode 4.2 - '...' 的声明将在此函数警告之外不可见
【发布时间】:2011-12-07 14:32:56
【问题描述】:

我使用 Apple 示例代码中的 Apple Reachability 类 Reachability

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

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

'struct sockaddr_in'的声明在这个函数之外是不可见的*

我不擅长经典的 C %),所以我不明白如何修复这个警告,或者我可以完全忽略它。

谢谢

【问题讨论】:

标签: iphone ios xcode4 ios5


【解决方案1】:

在 Reachability.h 中添加 #import <netinet/in.h> 以摆脱这个问题

【讨论】:

  • 我忘记将其格式化为代码,stackoverflow 为我删除了 :(
  • 请注意:导入已经存在于 Reachability.m 中 - 但在 Reachability.h 中也需要它
  • #include,而不是#import。由于 C 和 Objective-C 标头之间的细微差别,您应该只对 Objective-C 使用 #import。纯C应该继续使用#include
  • #import 将防止标头两次被带入编译单元。 #include 将允许它(然后使用保护宏来防止重复符号。)有些标头预计会被引入两次。
  • 除了#import,您还可以对缺少的结构进行前向声明。添加一个“struct sockaddr_in;”行到 .h 文件
猜你喜欢
  • 1970-01-01
  • 2021-06-29
  • 2017-11-12
  • 2021-01-14
  • 2022-06-14
  • 1970-01-01
  • 1970-01-01
  • 2023-03-17
  • 2022-09-23
相关资源
最近更新 更多