Kannst es auch so sehen, @Mücke: alles was du machst sind Deklarationen und Definitionen.
Die Arduino-IDE definiert das drumherum so, dass es erforderlich ist, mindestens die zwei Funktionen void setup() und void loop() zu definieren.
Ausserhalb dieser Funktionen kannst du andere Sachen definieren und deklarieren:
Konstante, Datentypen, Variable und andere Funktionen.
Ausführbare Anweisungen wie z.B. Aufrufe von Funktionen haben ausserhalb von Funktionen nichts zu suchen und machen dort auch keinen Sinn.
pinMode(42,OUTPUT); ist ein Funktionsaufruf, der üblicherweise innerhalb von setup() ausgeführt wird.