Xcode 4.2 - pernyataan '...' tidak akan terlihat di luar peringatan fungsi ini


161

Saya menggunakan kelas Apple Reachability dari Apple Sample code Reachability

di Xcode 4.2 dan kompiler Apple 3.0 baru saya mendapat peringatan di kelas ini itu

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

deklarasi 'struct sockaddr_in ' tidak akan terlihat di luar fungsi ini *

Saya tidak pandai klasik C%) jadi saya tidak mengerti bagaimana saya bisa memperbaiki peringatan ini atau mungkin saya bisa mengabaikannya sama sekali.

Terima kasih


Jawaban:


353

Tambahkan #import <netinet/in.h>dalam Reachability.h untuk lolos dari ini


7
Saya lupa memformatnya sebagai kode dan stackoverflow dihapus <netinet / in.h> untuk saya :(
Saurabh

3
Dan berhati-hatilah: impor sudah ada di Reachability.m - tetapi juga diperlukan di Reachability.h
brainray

8
#include, Tidak #import. Karena perbedaan halus antara header C dan Objective-C, Anda hanya boleh menggunakan #importuntuk Objective-C. Pure C harus terus digunakan #include.
Jonathan Grynspan

7
#importakan mencegah tajuk dibawa ke unit kompilasi dua kali. #includeakan mengizinkannya (dan kemudian menjaga makro digunakan untuk mencegah simbol duplikat.) Ada beberapa header yang diharapkan dibawa dua kali.
Jonathan Grynspan

6
Alih-alih #import, Anda juga dapat melakukan deklarasi maju dari struct yang hilang. Tambahkan satu "struct sockaddr_in;" baris ke file .h
fishinear
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.