它是從手機檢索IP地址的一系列函數的一部分。函數'ether_ntoa'的隱式聲明在C99中是無效的
strcpy(temp, (char *)ether_ntoa((const struct ether_addr *)LLADDR(sdl)));
編輯:沒有相應的功能需要,只有一些缺少標題。
編輯:添加轉換爲LLADDR(SDL)
它是從手機檢索IP地址的一系列函數的一部分。函數'ether_ntoa'的隱式聲明在C99中是無效的
strcpy(temp, (char *)ether_ntoa((const struct ether_addr *)LLADDR(sdl)));
編輯:沒有相應的功能需要,只有一些缺少標題。
編輯:添加轉換爲LLADDR(SDL)
當我讀到它,該錯誤信息不會聲稱功能缺失,只是你不包括它的聲明。 (我不知道它的存在,僅該消息有不同的意見。)
萬一有幫助,man ether_ntoa
告訴我:
#include <sys/types.h>
#include <sys/socket.h>
#include <net/ethernet.h>
看起來我缺少#include
我不熟悉'LLADDR',但是,由於'ether_ntoa'參數被稱爲'const struct ether_addr *',所以我猜想你是對的。 –
好吧,上面註釋中的錯誤是傳遞給'ether_ntoa()'的參數的一個類型錯誤,因爲'LLADDR(sdl))'返回一個'char *',但是'ether_ntoa()'帶有其他的東西。修正了這個強制轉換:'ether_ntoa((const struct ether_addr *)LLADDR(sdl)))'並且所有的東西似乎仍然在工作。 – Orchid
我包括下面的頭文件和源代碼編譯成功:
#import <arpa/inet.h>
它似乎是,儘管它是一個Mac OS X的手冊頁,它包含在iOS開發庫中。 http://developer.apple.com/library/ios/#documentation/System/Conceptual/ManPages_iPhoneOS/man3/ether_ntoa.3.html – trojanfoe
看看這個鏈接的Objective C代碼,它可以幫助你從「amcgregor」 。 https://gist.github.com/1265265 –