Funktion mehrere Werte zurück geben

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()
{
}