Problemet er at en MessageBox ikke har en overloaded metode, der kan tage std::string argumenter. Du skal derfor konvertere din std::string til en char*. Dette gøres for en std::string ved kalde dens c_str() metode, som netop returnere en char*.
const E *c_str() const;
The member function returns a pointer to a nonmodifiable
C string constructed by adding a terminating null element
(E(0)) to the controlled sequence. Calling any non-const
member function for *this can invalidate the pointer.
Prøv følgende:
std::string s("hello");
// første mulighed
const char *p = s.c_str();
MessageBox(NULL, (char*)p, "Caption", MB_OK);
// anden mulighed
char *p = const_cast<char*>(s.c_str());
MessageBox(NULL, p, "Caption", MB_OK);
Hth
Indlæg senest redigeret d. 02.11.2006 18:41 af Bruger #10448