Ja, nicht wahr!
Nur steht das in keinem Forenbeitrag oder Tutorial so erklärt.
Offensichtlich scheinst du die Eigenschaften de Sprache, welche du verwenden möchtest, recht vollständig zu ignorieren.
Vorwärtsstolpern, und potentielle Helfer verprellen, das scheint die bevorzugte Strategie zu sein.
Hier mal ein nettes Liedchen, habe ich extra für dich herausgesucht!
#include <Streaming.h> // die Lib findest du selber ;-)
Stream &cout {Serial}; // cout Emulation für AVR Arduinos
using FlashStrPtr = const __FlashStringHelper *;
const char myMatrix [8][8][5] PROGMEM = {
{"0208","0108","0308","0316","0116","0216","0225","0225"},
{"0211","0111","0311","0307","0107","0207","0206","0213"},
{"0214","0114","0314","0319","0119","0219","0218","0204"},
{"0209","0109","0309","0303","0103","0203","0118","0104"},
{"0212","0112","0312","0317","0117","0217","0318","0304"},
{"0205","0105","0305","0302","0102","0202","0306","0313"},
{"0220","0120","0320","0315","0115","0215","0125","0225"},
{"0201","0101","0301","0310","0110","0210","0106","0113"}
};
String dateiname;
void setup()
{
Serial.begin(9600);
dateiname.reserve(4+4+1);
cout << F("Start: ") << F(__FILE__) << endl;
for(auto &row:myMatrix)
{
for(auto &col:row)
{
dateiname = FlashStrPtr(col);
dateiname += ".mp3";
cout << dateiname << ' ';
}
cout << endl;
}
}
void loop()
{
}
Viel Erfolg auf deinen Wegen.