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.![]()
Partager