Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
lang:cpp:preprocesseur [2021/03/06 13:51] – Ajout de "Remplacer les #define par #pragma once" root | lang:cpp:preprocesseur [2022/08/18 10:31] (Version actuelle) – [Désactiver certains warnings pour certains compilateurs] : déplacement côté C root |
---|
| |
===Utiliser les std::initializer_list (crochets) avec des macros=== | ===Utiliser les std::initializer_list (crochets) avec des macros=== |
Le préprocesseur, comme le compilateur considère la virgule comme séparateur d'argument. Mais seul le compilateur considère les crochets ''{}'' comme un groupe d'argument. Le préprocesseur va considérer une virgule à l'intérieur d'un groupe de crochets comme un changement d'argument. La solution consiste à définir explicitement le type et à entourer les crochets par des parenthèses : ''(std::list<int>{.., .., ..})''. | Le préprocesseur, comme le compilateur considère la virgule comme séparateur d'argument. Mais seul le compilateur considère les crochets ''{}'' comme un groupe d'argument. Le préprocesseur va considérer une virgule à l'intérieur d'un groupe de crochets comme un changement d'argument. La solution consiste à définir explicitement le type et à entourer les crochets par des parenthèses : ''(std::list<int>{.., .., ..})''. |