Das "D" ist als globale Variable definiert, wird auch nicht verwendet und gehört entfernt.

Da im Programm ein Wert an die Funktion übergeben wird, muss diese Variable in Funktionsaufruf definiert sein.
Das " void pause(D) " ergibt ein Warning, es soll so aussehen "void pause(unsigned int D)"