Peut-être que quelqu'un peut me l'expliquer:opérateur Condition ":" et LPCTSTR en-tête de la fonction
bool Func1(LPCTSTR sData)
{
if (sData) { ... }
}
Et j'ai appelé la fonction comme ceci:
CString str = _T("");
Func1((str.IsEmpty() ? NULL : str));
et fonction à l'intérieur 'sData' n'est jamais NULL, c'est toujours une chaîne vide mais pas NULL, pourquoi? Code Eddited comme ceci:
LPCTSTR strNull = NULL;
Func1((str.IsEmpty() ? strNull : str));
Dans ce cas, il fonctionne correctement.
'Func1 ((str.IsEmpty()? NULL: str));' ne compile pas sur VS2015, j'obtiens 'Erreur C2446 ':': pas de conversion de 'CString' à 'int' \t ... ' –