Outils pour utilisateurs

Outils du site


lang:cpp:preprocesseur

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
lang:cpp:preprocesseur [2021/03/06 13:51] – Ajout de "Remplacer les #define par #pragma once" rootlang:cpp:preprocesseur [2022/08/18 10:31] (Version actuelle) – [Désactiver certains warnings pour certains compilateurs] : déplacement côté C root
Ligne 1: Ligne 1:
 +
 ===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>{.., .., ..})''.
lang/cpp/preprocesseur.1615035097.txt.gz · Dernière modification : 2021/03/06 13:51 de root