Too many initializer values?!

I believe that I miss something quite obvious but consider I am still learning.

Would you please share your though on that error explained below?
Screen shot has also been attached.

Note that: I am using Visual Micro with Visual Studio 2015.

#define RECORD_SIZE 16 //Max number of records in the array
#define DigitCount 6 //Number of hex pair per record
uint16_t RFID2DArray[RECORD_SIZE][DigitCount];

typedef struct Instructions {
	uint8_t id;//
	uint16_t RFIDArr[DigitCount];
} tInstructions;
struct Instructions instructions[RECORD_SIZE];

void SetInstructions() {
	instructions[0].id = 1;
	instructions[0].RFIDArr[DigitCount] = { 0xAA, 0xD0, 0x07, 0xB9, 0xC4 };//Error:too many initializer values.
}

Thanks.

Try

 instructions[0].RFIDArr[] = { 0xAA, 0xD0, 0x07, 0xB9, 0xC4 };

In future please post error messages as text, in full and in code tags as per forum rules.

You can't initialize variables like that at run time. This:

instructions[0].RFIDArr[DigitCount] = { 0xAA, 0xD0, 0x07, 0xB9, 0xC4 };//Error:too many initializer values.

Is trying to set the seventh element of RFIDArr. It's a single uint, it can't be initialized with an array. And of course, there is no seventh element so you're trying to write off the end of the array.

You can use that construct at compile time though, like this:

struct Instructions instructions[RECORD_SIZE]= { 
                                                {1, {0xAA, 0xD0, 0x07, 0xB9, 0xC4 }},
                                                {2, {0xA1, 0xD1, 0x08, 0xB1, 0xC1 }}
                                                };

wildbill:
You can't initialize variables like that at run time.

Indeed.

If you do need to initialize arrays at runtime, you need to

a) memcpy them from some other initialized array; or
b) loop through the values and set them; or
c) use the extremely … interesting C++ syntax for initializing arrays in class constructors

PaulRB# Thank you for your comment on my query. I was thinking I placed everything in text but missed the error part, sorry for that.
And your offered usage is giving error:"expected an expression" unfortunately.

Wildbill# Thank you for your comment as well. It was what I used in the beginning, it is just fine.
But, now things are real and dynamic, there is nothing to set up front. Later, I will be assigning the values very first time by scanning RFID tags.

PaulMurrayCbr# yes, loop through assignment of the values is the way to go for me, it does the job. Thanks a lot.

So, lesson learnt, "You can't initialize variables like that at run time."