Bonjour à tous,

Je dois retourner l'adresse d'un CString et le stocker dans un pointeur. Mon code est basé sur un code précédent qui à la place d'un CString utilisait un wstring. Mon code est le suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
m_pValue =  &(p_pBean->getText());
getText() me renvoyait donc à l'origine un wstring et dans mon code me renvoit un CString. Seulement voilà, je ne peux pas écrire à l'adresse stockée dans le pointeur (void *). Dès que j'écris quelque chose à cette adresse, j'ai le droit à un beau plantage en règle .
Une de mes pistes est que Wstring est une structure et donc que le & me renvoit bien l'adresse de la structure alors qu'un CString est une chaîne de caractère donc déjà un pointeur et qu'avec le code utilisé, je retourne un pointeur de pointeur...
Seulement si j'utilise ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
m_pValue = p_pBean->getText();
La compilation me retourne une erreur de cast "cannot convert CString to void*".
Commençant à m'embrouiller dans tout ça (et étant débutant), je demande un peu d'aide

Merci d'avance!


Edit : Je précise (même si je ne pense pas que ça ait un interêt que lorsque je passe mon attribut text en public et que je fait un :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
m_pValue =  &(p_pBean->text);
Ca fonctionne parfaitement.