@sddvxd

Почему возникает ошибка «empty is not a member of std::locale»?

Здравствуйте

std::wifstream wif("C:\\cpp\\permission.txt", std::ios::binary);
    if (wif.is_open())
    {
      static std::locale empty ();
          wif.imbue(std::locale(std::locale::empty(), new std::codecvt_utf8<wchar_t,0x10ffff, std::consume_header>));

        std::wstring wline;
        while (std::getline(wif, wline))
        {
            LPCWSTR wline = wline;
            MessageBoxW(FindWindowW(NULL, L"Корзина"), NULL, wline, MB_YESNO);
        }

        wif.close();
    }


Компилятор выдает ошибку "empty is not a member of std::locale"
Все нужные заголовочные файлы подключены
  • Вопрос задан
  • 573 просмотра
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
std::locale::empty()
Компилятор выдает ошибку "empty is not a member of std::locale"

empty и в самом деле не является членом std::locale. Я подозреваю, что вы хотели написать
wif.imbue(std::locale(std::locale(), new std::codecvt_utf8<wchar_t,0x10ffff, std::consume_header>));

либо
static std::locale empty;
wif.imbue(std::locale(empty, new std::codecvt_utf8<wchar_t,0x10ffff, std::consume_header>));
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы