Naja....
Da war aber auch Thema, dass man sich Abhängigkeiten über Parameter in die Funktion holen soll!
Und dass loop/setup Ausnahmen sind.
Hier sieht man 3 Varianten, wie man Arrays an Funktionen übergeben kann.
#include <Streaming.h> // die Lib findest du selber ;-)
Stream &cout = Serial; // cout Emulation für "Arme"
using MeinArray = int[3]; // Type definieren
MeinArray testArray {3, 2, 1}; // array instanziiren
char test[] {'a', 's', 'd', 'f',};
void zeigsMir(int *array, size_t size)
{
for(unsigned i = 0; i <= size; i++ ) cout << i[array] << endl;
}
void zeigsMir(MeinArray &array)
{
for(auto data : array)cout << data << endl;
}
template<typename T>void zeigsMir(T &array)
{
for(auto data : array)cout << data << endl;
}
void setup()
{
Serial.begin(9600);
cout << F("Start: ") << F(__FILE__) << endl;
zeigsMir(testArray);
zeigsMir(test);
zeigsMir(testArray, sizeof testArray / sizeof testArray[0]);
}
void loop()
{
}