Inicialização de chaves de construtor de cópia

"podemos inicializar objetos de uma classe para a qual não definimos nenhum construtor usando:

inicialização de membros.cópia de inicialização.inicialização padrão.

Por exemplo:

    struct Work {
      string author;
      string name;
      int year;
    };

    Work s9 { "Bethoven",
              "Symphony No. 9 in D minor, Op. 125; Choral",
              1824
            };                    // memberwise initialization

    Work currently_playing {s9};  // copy initialization
    Work none {};                 // default initialization

A linguagem de programação C ++ 4th Ed. Capítulo 17.3.1

Por exemplo:

   struct Data
     {
        int mMember1;
        float mMember2;
        char mMember3;
     };

     int main()
     {
         Data aData_1{1,0.3,33};
         Data aData_2{aData_1};

         return EXIT_SUCCESS;
     }

Isso deve funcionar, embora eu receba um erro de compilador tanto com o GCC quanto com o Clang. O erro é "não é possível converter dados em int" em ambos os compiladores. No entanto, implementando o construtor de cópia, este erro desaparece ou sem implentá-lo, mas usando a sintaxe das chaves redondas. O problema é um pouco estúpido e mudando o encaracolado para as chaves redondas o problema é resolvido. Mas por que as regras do TC ++ PL não são seguidas ?, é um problema de compilador ou estou entendendo mal alguma coisa ?. Desde já, obrigado.

questionAnswers(1)

yourAnswerToTheQuestion