У вас есть две основные проблемы. Во-первых, char
может содержать только один символ, а не строку символов. Во-вторых, у вас есть «узкий» символьный строковый литерал, но вы (видимо) используете сборку Unicode вашего приложения, в которой MessageBox
ожидает получить широкую строку символов. Вы хотите, чтобы либо:
wchar_t text1[] = L"hello world";
или:
wchar_t const *text1 = L"hello world";
или (чаще всего):
std::wstring text1(L"hello world");
... но обратите внимание, что std::wstring
не может быть передано непосредственно в Messagebox
. Вы должны были бы либо пройти text1.c_str()
при вызове MessageBox
, либо написать небольшую обертку для MessageBox
, что принял (ссылка) а std::wstring
, что-то вроде:
void message_box(std::wstring const &msg) {
MessageBox(NULL, msg.c_str(), NULL, MB_OK);
}
'символ text1 [] = ...' является то, что вы ищете. –
Ну, 'wchar_t text1 []' (или 'std :: wstring'). – chris
В C++ вы использовали бы 'std :: string'. – typ1232