Le code suivant génère un avertissement C6284 lorsqu'il est compilé avec /analyze
sur MSVC 2008: objet passé en paramètre '% s' lorsqu'une chaîne est requise dans l'appel à la fonction.Comment empêcher C6284 en utilisant CString :: Format?
CString strTmp, str;
str = L"aaa.txt"
strTmp.Format (L"File: %s", str);
Je suis à la recherche d'une solution agréable pour ce qui ne nécessiterait pas static_cast
Ai-je tort ou la bonne solution est d'utiliser 'str.GetBuffer()'? – sorin
Vous pouvez utiliser les deux pour votre situation, mais ils ont des significations différentes pour le lecteur. 'GetBuffer()' renvoie un tampon de chaîne qui permet la modification directe (pas 'const') de l'objet' CString' tandis que 'GetString()' renvoie un tampon 'const' pour l'accès en lecture seule. –