user76726: The goal for this is to create a struct that includes a name, ID, fileName, and a boolean, then create an array of that structs.
Here's what I came up with:
struct Amiibo
{
  char *aName{};
  char *ID{};
  char *AudioFileName{};
  bool alreadyPlayed{false};
};  

Amiibo amii[20] = {

      {"Mario","A5005B00","MARIO",false},                     //0
      {"Meta Knight","A5 00 02 00","MK"},                     //1
      {"Inkling", "A5 00 05 00","INK"},                       //2
      {"Donkey Kong","A5 00 01 00","DK"},                     //3
      {"Lucas","A5 00 0A 00","LUCAS"},                        //4
      {"Duck Hunt", "A5 00 08 00","DUCKH"},                   //5
      {"Ocarina of Time Link","A5 00 01 00","OOTL"},          //6
      {"Breath of The Wild Link","random","BOTWL"},           //7
      {"8-bit Link","random","8BITL"},                        //8
      {"Toon Link","random","TOONL"},                         //9      
      {"Mr. Game and Watch","random","GANDW"},                //10
      {"Falco","random","FALCO"},                             //11
      {"King Dedede","random","DEDEDE"},                      //12
      {"Mewtwo","random","MEWTWO"},                           //13
      {"Captain Falcon","random","CAPF"},                     //14
      {"ROB","random","ROB"},                                 //15
      {"PAC-MAN","random","PACMAN"},                          //16
      {"Cloud","random","CLOUD"},                             //17
      {"Ness","random","NESS"},                               //18
      {"Ryu","random","RYU"}                                  //19

};

This gives me the following error:

error: could not convert '{"Mario", "A5005B00", "MARIO", false}' from '' to 'Amiibo'

And the same error for all the other elements of the array.
I tried changing amii[20] to a pointer using *amii[20]. That got me this error:

braces around scalar intializer for type "Amiibo"

I'm not sure what to make of that, since I'm fairly certain this isn't scalar type.
I'd really just like to make a struct array so I can cycle through these at random using a random seed. It shouldn't be that difficult, yet I'm running up against a wall. I'd appreciate any advice you all have to give. Thanks.

user23841: If you use default values in struct declaration, you have to define also constructors for setting specific elements:
struct Amiibo
{
  const char *aName{};
  const char *ID{};
  const char *AudioFileName{};
  bool alreadyPlayed{false};

  Amiibo() = default;  // default implementation for default constructor
  
  Amiibo(const char* name, const char* id, const char * audio)  // constructor with three c strings as parameters
  : aName{ name }
  , ID{ id }
  , AudioFileName{ audio }
  { ; }
};  

Amiibo amii[] = {
      {"Mario","A5005B00","MARIO"},                           //0
      {"Meta Knight","A5 00 02 00","MK"},                     //1
      {"Inkling", "A5 00 05 00","INK"},                       //2
      {"Donkey Kong","A5 00 01 00","DK"},                     //3
      {"Lucas","A5 00 0A 00","LUCAS"},                        //4
      {"Duck Hunt", "A5 00 08 00","DUCKH"},                   //5
      {"Ocarina of Time Link","A5 00 01 00","OOTL"},          //6
      {"Breath of The Wild Link","random","BOTWL"},           //7
      {"8-bit Link","random","8BITL"},                        //8
      {"Toon Link","random","TOONL"},                         //9      
      {"Mr. Game and Watch","random","GANDW"},                //10
      {"Falco","random","FALCO"},                             //11
      {"King Dedede","random","DEDEDE"},                      //12
      {"Mewtwo","random","MEWTWO"},                           //13
      {"Captain Falcon","random","CAPF"},                     //14
      {"ROB","random","ROB"},                                 //15
      {"PAC-MAN","random","PACMAN"},                          //16
      {"Cloud","random","CLOUD"},                             //17
      {"Ness","random","NESS"},                               //18
      {"Ryu","random","RYU"}                                  //19
};

Btw on the older AVRs all those strings will resides also in memory

76726: <p>The goal for this is to create a struct that includes a name, ID, fileName, and a boolean, then create an array of that structs.
Here's what I came up with:</p>
<pre><code>struct Amiibo
{
  char *aName{};
  char *ID{};
  char *AudioFileName{};
  bool alreadyPlayed{false};
};  

Amiibo amii[20] = {

      {&quot;Mario&quot;,&quot;A5005B00&quot;,&quot;MARIO&quot;,false},                     //0
      {&quot;Meta Knight&quot;,&quot;A5 00 02 00&quot;,&quot;MK&quot;},                     //1
      {&quot;Inkling&quot;, &quot;A5 00 05 00&quot;,&quot;INK&quot;},                       //2
      {&quot;Donkey Kong&quot;,&quot;A5 00 01 00&quot;,&quot;DK&quot;},                     //3
      {&quot;Lucas&quot;,&quot;A5 00 0A 00&quot;,&quot;LUCAS&quot;},                        //4
      {&quot;Duck Hunt&quot;, &quot;A5 00 08 00&quot;,&quot;DUCKH&quot;},                   //5
      {&quot;Ocarina of Time Link&quot;,&quot;A5 00 01 00&quot;,&quot;OOTL&quot;},          //6
      {&quot;Breath of The Wild Link&quot;,&quot;random&quot;,&quot;BOTWL&quot;},           //7
      {&quot;8-bit Link&quot;,&quot;random&quot;,&quot;8BITL&quot;},                        //8
      {&quot;Toon Link&quot;,&quot;random&quot;,&quot;TOONL&quot;},                         //9      
      {&quot;Mr. Game and Watch&quot;,&quot;random&quot;,&quot;GANDW&quot;},                //10
      {&quot;Falco&quot;,&quot;random&quot;,&quot;FALCO&quot;},                             //11
      {&quot;King Dedede&quot;,&quot;random&quot;,&quot;DEDEDE&quot;},                      //12
      {&quot;Mewtwo&quot;,&quot;random&quot;,&quot;MEWTWO&quot;},                           //13
      {&quot;Captain Falcon&quot;,&quot;random&quot;,&quot;CAPF&quot;},                     //14
      {&quot;ROB&quot;,&quot;random&quot;,&quot;ROB&quot;},                                 //15
      {&quot;PAC-MAN&quot;,&quot;random&quot;,&quot;PACMAN&quot;},                          //16
      {&quot;Cloud&quot;,&quot;random&quot;,&quot;CLOUD&quot;},                             //17
      {&quot;Ness&quot;,&quot;random&quot;,&quot;NESS&quot;},                               //18
      {&quot;Ryu&quot;,&quot;random&quot;,&quot;RYU&quot;}                                  //19

};
</code></pre>
<p>This gives me the following error:</p>
<blockquote>
<p>error: could not convert '{&quot;Mario&quot;, &quot;A5005B00&quot;, &quot;MARIO&quot;, false}' from '' to 'Amiibo'</p>
</blockquote>
<p>And the same error for all the other elements of the array.
I tried changing amii[20] to a pointer using *amii[20]. That got me this error:</p>
<blockquote>
<p>braces around scalar intializer for type &quot;Amiibo&quot;</p>
</blockquote>
<p>I'm not sure what to make of that, since I'm fairly certain this isn't scalar type.</p>
<p>I'd really just like to make a struct array so I can cycle through these at random using a random seed. It shouldn't be that difficult, yet I'm running up against a wall. I'd appreciate any advice you all have to give. Thanks.</p>
 23841: <p>If you use default values in struct declaration, you have to define also constructors for setting specific elements:</p>
<pre><code>struct Amiibo
{
  const char *aName{};
  const char *ID{};
  const char *AudioFileName{};
  bool alreadyPlayed{false};

  Amiibo() = default;  // default implementation for default constructor
  
  Amiibo(const char* name, const char* id, const char * audio)  // constructor with three c strings as parameters
  : aName{ name }
  , ID{ id }
  , AudioFileName{ audio }
  { ; }
};  

Amiibo amii[] = {
      {&quot;Mario&quot;,&quot;A5005B00&quot;,&quot;MARIO&quot;},                           //0
      {&quot;Meta Knight&quot;,&quot;A5 00 02 00&quot;,&quot;MK&quot;},                     //1
      {&quot;Inkling&quot;, &quot;A5 00 05 00&quot;,&quot;INK&quot;},                       //2
      {&quot;Donkey Kong&quot;,&quot;A5 00 01 00&quot;,&quot;DK&quot;},                     //3
      {&quot;Lucas&quot;,&quot;A5 00 0A 00&quot;,&quot;LUCAS&quot;},                        //4
      {&quot;Duck Hunt&quot;, &quot;A5 00 08 00&quot;,&quot;DUCKH&quot;},                   //5
      {&quot;Ocarina of Time Link&quot;,&quot;A5 00 01 00&quot;,&quot;OOTL&quot;},          //6
      {&quot;Breath of The Wild Link&quot;,&quot;random&quot;,&quot;BOTWL&quot;},           //7
      {&quot;8-bit Link&quot;,&quot;random&quot;,&quot;8BITL&quot;},                        //8
      {&quot;Toon Link&quot;,&quot;random&quot;,&quot;TOONL&quot;},                         //9      
      {&quot;Mr. Game and Watch&quot;,&quot;random&quot;,&quot;GANDW&quot;},                //10
      {&quot;Falco&quot;,&quot;random&quot;,&quot;FALCO&quot;},                             //11
      {&quot;King Dedede&quot;,&quot;random&quot;,&quot;DEDEDE&quot;},                      //12
      {&quot;Mewtwo&quot;,&quot;random&quot;,&quot;MEWTWO&quot;},                           //13
      {&quot;Captain Falcon&quot;,&quot;random&quot;,&quot;CAPF&quot;},                     //14
      {&quot;ROB&quot;,&quot;random&quot;,&quot;ROB&quot;},                                 //15
      {&quot;PAC-MAN&quot;,&quot;random&quot;,&quot;PACMAN&quot;},                          //16
      {&quot;Cloud&quot;,&quot;random&quot;,&quot;CLOUD&quot;},                             //17
      {&quot;Ness&quot;,&quot;random&quot;,&quot;NESS&quot;},                               //18
      {&quot;Ryu&quot;,&quot;random&quot;,&quot;RYU&quot;}                                  //19
};
</code></pre>
<p>Btw on the older AVRs all those strings will resides also in memory</p>
