Il problema è che nella struttura il membro pszText è dichiarato come LPTSTR e non come LPCTSTR (poiché la struttura in questione è usata anche per scopi per cui è necessario che il puntatore in questione non sia const).Originariamente inviato da giorgiogio48
Ciao Mytaly,
con i suggerimento tuo mi da ora l'errore "cannot convert from 'const char *' to 'LPSTR'"![]()
In questo caso comunque credo che sia sicuro semplicemente effettuare un const_cast per rimuovere il const dal puntatore nel momento in cui lo assegni a pszText; l'alternativa è creare un buffer temporaneo e copiare lì il contenuto della stringa.
Questo se anche s fosse una stringa basata su TCHAR, ma dato che è dichiarata come string sarà sempre e comunque un char *. Se si volessero fare le cose per bene, bisognerebbe definire un tipo tstring come std::basic_string<TCHAR> e usare quello invece di string; a quel punto c_str() restituirebbe effettivamente un const TCHAR *.Originariamente inviato da kirakira93
prova:
sarebbe preferibile scrivere al posto di char* TCHAR * //include<tchar.h>codice:string s; s = "ciao"; MessageBox(NULL,(char *) s.c_str(),"Esempio",0);

Rispondi quotando