Bonjour à tous,
Ne connaissant pas trop le type Variant, j'aimerais savoir s'il serait possible de faire ceci dans un #define :
Merci.Code:
1
2
3 VARIANT vBool; vBool.vt = VT_BOOL; vBool.boolVal = VARIANT_TRUE;
Bonjour à tous,
Ne connaissant pas trop le type Variant, j'aimerais savoir s'il serait possible de faire ceci dans un #define :
Merci.Code:
1
2
3 VARIANT vBool; vBool.vt = VT_BOOL; vBool.boolVal = VARIANT_TRUE;
Qu'est que du veux dire par "dans un #define" ?
Explique un peu plus ce que tu veux faire, on n'a pas assez de contexte là.
En fait, je souhaite définir une variable de type VARIANT qui soit toujours à VARIANT_TRUE.
J'ai éssayé ceci pour le moment :
Seulement cette variable n'est pas de type Variant, quand je l'a passe en paramètre d'une fonction il me dit qu'il ne peut pas convertir de VARIANT_BOOL en VARIANT.Code:#define MaVariable VARIANT_TRUE
Peut-être avec une fonction inline:
Code:
1
2
3
4
5
6
7
8
9 inline VARIANT GetTrue() { VARIANT vBool; vBool.vt = VT_BOOL; vBool.boolVal = VARIANT_TRUE; return vBool; } #define MaVariable GetTrue()
J'ai un .h dans lequel j'ai tout mes #define, j'ai mis le code que tu m'a donné dans ce .h, faut-il mettre la fonction dans un autre fichier ?Citation:
error C2084: la fonction 'VARIANT GetTrue(void)' a déjà un corps
est-elle bien inline?
As-tu bien mis des gardes d'inclusions autour du .h ?
Oui elle est inline, j'inclue mon fichier comme ceci :
Citation:
#include "define.h"
Tu ne sais pas ce que sont des gardes d'inclusion?
Pas vraiment, à première vu je dirais que ce sont les "#ifndef, #define, #endif" mais je vais le savoir dans quelques instants :aie:
En effet.
Tout fonctionne, c'est parfait, merci pour tout.
J'ai une autre petite question concernant ces #define, je voudrais définir ceci :
Est-ce possible ?Code:COleVariant vMissing(DISP_E_PARAMNOTFOUND, VT_ERROR);
Merci.
Non, puisque c'est une déclaration de variable. On n'est pas censé pouvoir passer un COleVariant temporaire non-nommé par référence ou pointeur non-const, donc il FAUT que ce soit une variable nommée...
Et bien merci beaucoup.
Je me débrouillerais pour le vMissing.
:resolu: