Ich folge diesem example. Aber wenn ich kompilieren, gibt es eine Fehlermeldung:Ungültige Verwendung der nicht statischen Elementfunktion C++
Invalid use of non-static member function
an der Linie
void(Machine:: *ptrs[])() =
{
Machine::off, Machine::on
};
Ich versuchte static
-void on();
auf Klasse hinzufügen
class Machine
{
class State *current;
public:
Machine();
void setCurrent(State *s)
{
current = s;
}
static void on(); // I add static here ...
static void off(); // and here
};
Aber es beklagt, dass
Invalid use of member Machine::current in static member function
Kannst du mir helfen, das Problem zu beheben?
Ah, oui. Es funktioniert, aber können Sie bitte erklären warum? Danke – GAVD
@GAVD Erläuterung hinzugefügt. – songyuanyao
@songyuanyao die pcap_loop() unter pcap-Bibliothek wirft einen ähnlichen Fehler. Könnten Sie sich das bitte ansehen und mich wissen lassen, wenn Sie eine Idee haben? Tqvm http://stackoverflow.com/questions/43108998/c-pcap-loop-arguments-issue – Wei