Visual C ++ MessageBox - PullRequest
       30

Visual C ++ MessageBox

0 голосов
/ 15 сентября 2011

Использование Visual C ++ не может получить окно сообщения для компиляции.

этот работает.MessageBox::Show("hello the world");

Очевидно, я не могу жестко закодировать все мои сообщения, поэтому я хочу что-то вроде этого:

string s = "hello the world";
MessageBox::Show(s); | also tried MessageBox::Show(NULL,s);

не работает.также пробовал:

char* test = (char*)s.c_str();
MessageBox::Show(test);

включить в начало моего файла

искал в Google, нет примера кода в msdn для окна сообщений c ++, большинство из найденных мною средств не для Visual C ++.

спасибо

Ответы [ 2 ]

3 голосов
/ 16 сентября 2011

Вы используете управляемый код на языке C ++ / CLI. Что требует использования типа System :: String для строк:

String^ s = "hello the world";
MessageBox::Show(s); 

Убедитесь, что вы действительно хотите написать такой код. Это не стандартный C ++. Если да, то обязательно изучите книгу или учебник по C ++ / CLI для изучения языка.

1 голос
/ 15 сентября 2011

Я использую

        } catch (Exception ^ex) {
            MessageBox::Show(ex->Message);
        }

Возможно, ваши строки имеют неправильный формат?Попытка инициализации с помощью

_T"My String"

или

L"My String"

работала для меня раньше.Возможно, вы по умолчанию используете 8-битную ASCII или другую кодировку для ваших объявлений, которые приводятся к другому типу при инициализации объекта, который затем не может быть интерпретирован (или приведен) с помощью MessageBox::Show()

...