2016-05-07 7 views
0

Ich verwende C++ 11, ein Netzwerk-Programm unter OS X zu schreiben Wenn ich versuche,keventFunktion aufzurufen, finde ich es Konflikt mit dem keventstruct. Was soll ich machen?C++ struct Konstruktor und Funktion Konflikt

Ich möchtekeventFunktion aufzurufen für Ereignis zu warten, anstatt keventstruct ‚s Konstruktor aufrufen.

Update


las ich die Antwort von Constructor of class with conflicting name

Nach hinzufügen Klammern kevent, es Art Guss Ausdruck geworden.

Ich will Funktion aufzurufen

dies ist mein Code

kevent(event_loop_fd_, change_list.data(), 1, event_list.data(), 1, NULL, &timeout_struct) 

Antwort

0

Es scheint, Sie die falsche Signatur verwenden. In Ihrem obigen Aufruf übergeben Sie 7 Parameter, aber die kevent-Funktion dauert 6. Es gibt eine Funktion namens kevent64, die 7 Parameter enthält, von denen der letzte eine const struct timespec* ist - vielleicht ist das die Funktion, die Sie aufrufen wollten?

+0

Oh, ich ändere 'kevent64' in' kevent', aber ändere argument wechseln. –