Bonjour,
J'utilise une macro dans un projet VC++ 6 mais elle n'est pas supportée : #define fonc(x...) fonc(x).
Les '...' ne sont pas admis alors que cela passe sous d'autres environnements Mac et Unix.
Comment faire ? Merci.
Bonjour,
J'utilise une macro dans un projet VC++ 6 mais elle n'est pas supportée : #define fonc(x...) fonc(x).
Les '...' ne sont pas admis alors que cela passe sous d'autres environnements Mac et Unix.
Comment faire ? Merci.
hum j'ai pas trop saisis ce que tu veux faire !
les ... ça correspond aux arguments variables il ne manque pas une , avant ?
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
Voilà précisément ce qui ne passe pas :
Ecrit sous la forme 'x,...' ça ne marche pas mieux...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 #ifdef DEBUG #define debugprintf(x...) printf(x) #else #define debugprintf(x...) #endif
Les macros à nombres d'arguments variables sont une extension GNU.
(Elles ont peut-être été depuis adoptées par le standard C99, mais je n'en suis pas sûr. De toute façon, même visual 2005 n'est pas compatible C99)
Sous Windows, essaie ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 #ifdef DEBUG #define debugprintf printf #else #define debugprintf __noop #endif
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Merci Médinoc, cela marche en effet.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager