É possível inicializar uma matriz de não-POD com a nova sintaxe do operador e o inicializador?
Acabei de ler e entenderÉ possível inicializar uma matriz no C ++ 11 usando o novo operador, mas isso não resolve completamente o meu problema.
Este código me dá um erro de compilação no Clang:
struct A
{
A(int first, int second) {}
};
void myFunc()
{
new A[1] {{1, 2}};
}
Eu esperava que {{1, 2}} inicializasse a matriz com um único elemento, por sua vez, inicializado com o construtor args {1, 2}, mas recebo este erro:
error: no matching constructor for initialization of 'A'
new A[1] {{1, 2}};
^
note: candidate constructor not viable: requires 2 arguments, but 0 were provided
A(int first, int second) {}
^
note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 0 were provided
struct A
^
Por que essa sintaxe não funciona?