Il est possible de créer un std::array en utilisant des listes d'initialisation de plusieurs manières. Cependant, GCC 4.6.1 peut rencontrer des erreurs lors de cette tentative.
La syntaxe de création d'un std::array à l'aide de listes d'initialisation est :
std::array array = { { value1, value2, ..., valueN } };
où T est le le type d'élément du tableau, size est la taille du tableau et value1 à valueN sont les valeurs initiales du tableau. initialisé. Pour initialiser par agrégation le tableau à l'intérieur de la structure, utilisez un jeu supplémentaire d'accolades :
std::array<:string> strings = {{ "a", "b" }};Cette syntaxe évite le constructeur qui prend une liste d'initialiseurs, ce qui peut causer des problèmes dans GCC 4.6.1.std::array<:string> strings = {{ "a", "b" }};
La norme C 11 suggère que les accolades supplémentaires peuvent être élidées lors de l'initialisation globale. Par conséquent, l'incapacité de GCC 4.6.1 à compiler les listes d'initialisation pour std::array sans les accolades supplémentaires est probablement un bug du compilateur.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3