Inicializar la matriz estática dispersa

Necesito inicializar una matriz estática. No todos los valores son secuenciales.

Algo como esto funciona bien para una matriz secuencial:

class Foo {

  public:

  static const char * name[];

}

const char * Foo::name[] = { "Sun", "Moon" };

¿Cómo puedo asignar valores en posiciones arbitrarias en la matriz? Necesito hacer algo como esto (pseudocódigo):

const char * Foo::name[] = { 67: "Sun", 68: "Moon" };

La matriz nunca será más grande que 255; Los índices provienen de los valores de bytes.

encontréparte de un hilo donde alguien da un ejemplo de algo similar a lo que quiero, pero no pude conseguir que algo así funcionara.

type array[SIZE] = {[SIZE-4]=1, 2, 3, 4};

Respuestas a la pregunta(2)

Su respuesta a la pregunta