Entfernen Sie das struct
Schlüsselwort (es wird nicht benötigt, da Sie bereits typedef
ed die Struktur haben):
Alternativ entfernen Sie typedef
:
Weitere Informationen finden Sie unter Warum sollten wir typedef eingeben? eine Struktur so oft in C?
Der Grund für den Fehler ist, dass wenn Sie hier ankommen
%Vor% Es gibt kein struct Timer
im Gültigkeitsbereich (nur ein typedef für eine anonyme Struktur). Daher glaubt der Compiler, dass Sie einen neuen -Typ struct Timer
deklarieren und einen Zeiger als Parameter verwenden möchten.
Eigentlich wäre das weniger als nützlich, da der Typ nur innerhalb der Funktion sichtbar wäre. Das würde es praktisch unmöglich machen, einen Parameter von außerhalb der Funktion zu übergeben.
Der Compiler sagt also, dass, obwohl es von der Sprache erlaubt ist, dies keine gute Idee ist!