Exception til MessageBox

Tags:    c++

Jeg er i gang med et større program, og jeg er desvære stødt på et problem (igen).

Jeg har lavet en klasse plus underklasser til Exceptions. jeg har taget udgangs punkt i den fra Netværksprogrammering. I stedet for Consol skal den spøtte det ud i en MessageBox. Jeg får følgende fejl:

Fold kodeboks ind/udKode 


Hvis i skal se noget af koden kan det også lade sig gøre.



2 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
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*.

Fold kodeboks ind/udKode 


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
Okay, det ser ud til at virke. Havde en string til at hedde description, så skrev jeg description.c_str(), så du får dine point for din hjælp :D



t