Girando fora a questão de encerramento, "como faço para converter um para digitar Test::A
" ao invés de ser rígida sobre o requisito de ter um elenco de lá, e respondendo a vários anos de atraso apenas isso parece ser uma questão que ninguém popular, mais parece ter mencionado a alternativa , pelo padrão C ++ 11:
5.2.9 Molde estático
... uma expressão e
pode ser explicitamente convertida em um tipo T
usando um static_cast
do formulário static_cast<T>(e)
se a declaração
T t(e);
estiver bem formada, para alguma variável temporária inventada t
(8.5). O efeito de uma conversão explícita é o mesmo que executar a declaração e a inicialização e, em seguida, usar a variável temporária como resultado da conversão.
Portanto, o uso direto do formulário t(e)
também funcionará, e você pode preferir o detalhe:
auto result = Test(a);