Implizite Deklaration der Funktion "ether_ntoa' ist ungültig in C99
Es ist Teil einer Reihe von Funktionen, die das abrufen von IP & Mac-Adressen aus dem Telefon.
strcpy(temp, (char *)ether_ntoa((const struct ether_addr *)LLADDR(sdl)));
EDIT: Keine äquivalente Funktion notwendig, es waren nur ein paar fehlenden überschriften.
EDIT: Hinzugefügt cast zu LLADDR(sdl)
- Es scheint, trotz sagen, es ist eine Mac-OS-X-manpage, es ist in der iOS-Entwicklung-Bibliothek. developer.apple.com/library/ios/#documentation/System/...
- Werfen Sie einen Blick auf die Objective-C-code unter diesem link, die Ihnen helfen könnten, sich aus "amcgregor". gist.github.com/1265265
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als ich es gelesen habe, die Fehlermeldung ist nicht zu fordern, dass die Funktion fehlt, nur, dass Sie nicht über Ihre Erklärung. (Ich weiß nicht wissen, dass es existiert, nur, dass die Nachricht eine andere Beschwerde.)
Falls es hilft,
man ether_ntoa
sagt mir:"Incompatible pointer types passing 'caddr_t' (aka 'char *') to parameter of type 'const struct ether_addr *'"
. Ich denke, dies ist ein casting-Fehler Auftritt?LLADDR
aber, da dieether_ntoa
parameter ist, sagte zuconst struct ether_addr *
würde ich sagen, dass du Recht hast, was die Ursache des Problems.ether_ntoa()
, weilLLADDR(sdl))
gibt einechar *
aberether_ntoa()
nimmt etwas anderes. Feste mit der Besetzung:ether_ntoa((const struct ether_addr *)LLADDR(sdl)))
und alles scheint noch zu arbeiten.Habe ich folgende header-Datei und Quelltext erfolgreich kompiliert wurde: