0

我见过这样的问题,但我不知道从哪里获得标志名称或如何正确忽略它。

我遇到问题的一个例子是Reachability.h第 76 行;我收到警告信息"Declaration of 'struct sockaddr_in' will not be visible outside of this function"

我将如何在文件中获取并忽略此警告的名称?我会这样说:

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wsemantic-issue"
//reachabilityWithAddress- Use to check the reachability of a particular IP address.
+ (Reachability *)reachabilityWithAddress:(const struct sockaddr_in *)hostAddress;
#pragma clang diagnostic pop

我也一直在看这些资源:

1

2

3

4

但我仍然不知所措。

我正在使用 LLVM 5.0

4

1 回答 1

1

如果这个 Reachability 类不是您的类,并且您不会更改原始代码,那么您别无选择。

相反,如果您想更改原始代码,请获取 struct 声明并移至 .h 类。它将纠正警告。

如果您只想删除警告,请使用#pragma clang diagnostic ignored “-w”,而不是“-Wsemantic-issue”。它将删除 push 和 pop 行之间的所有警告。

于 2013-06-11T22:46:13.290 回答