You have to give each row a name, as you can't create anonymous arrays.
Eg.
Code:
const BYTE m_space[] = { 0x00, 0x00, 0x00, 0x00, 0x00 };
etc
const BYTE *gc_ppbCharMatrices[ /* UCHAR_MAX + 1 */ ] =
{
/* Control characters */
NULL, NULL, /* 32 NULL entries total indicate no bitmap available */
/* Bitmap data */
m_space, /* ' ' */
};
Though you might be able to do this
Code:
const BYTE letters[][5] = {
{ 0x00, 0x00, 0x00, 0x00, 0x00 }, // add rows for each letter
};
const BYTE *gc_ppbCharMatrices[ /* UCHAR_MAX + 1 */ ] =
{
/* Control characters */
NULL, NULL, /* 32 NULL entries total indicate no bitmap available */
/* Bitmap data */
letters[0], /* then letters[1] etc */
};
But consider making the whole thing a 2D array for simplicity
Code:
const BYTE gc_bCharMatrices[ /* UCHAR_MAX + 1 */ ][5] =
{
/* Control characters */
{ 0 }, /* 32 empty entries total indicate no bitmap available */
/* Bitmap data */
{ 0x00, 0x00, 0x00, 0x00, 0x00 }, /* ' ' */
{ 0x00, 0x00, 0x2f, 0x00, 0x00 }, /* '!' */
{ 0x00, 0x03, 0x00, 0x03, 0x00 }, /* '"' */
{ 0x14, 0x7f, 0x14, 0x7f, 0x14 }, /* '#' */
/* ...Etc; includes bitmaps up to 126 ('~' character) */
};
256 * 5 = 1280 bytes.
Compare with your approach, which is 256*4 pointers, and 96*5 bitmap data = 1504 bytes.