Inicializando uma matriz de membro no inicializador do construtor

class C 
{
public:
 C() : arr({1,2,3}) //doesn't compile
{}
    /*
    C() : arr{1,2,3} //doesn't compile either
{}
    */
private:
 int arr[3];
};

Eu acredito que a razão é que as matrizes podem ser inicializadas apenas com= sintaxe, ou seja:

int arr[3] = {1,3,4};
QuestõesComo posso fazer o que eu quero fazer (ou seja,inicializar uma matriz em um construtor (não atribuindo elementos no corpo)). Isso é possível?O padrão C ++ 03 diz algo especial sobre a inicialização de agregados (incluindo matrizes) em inicializadores de ctor? Ou a invalidez do código acima é um corolário de outras regras?As listas de inicializadores C ++ 0x resolvem o problema?

P.S. Por favor, não mencione vetores, boost :: matrizes e sua superioridade em relação às matrizes, das quais eu estou ciente.

questionAnswers(6)

yourAnswerToTheQuestion