Поделиться через


Предупреждение компилятора (уровень 1) C4905

приведение двухбайтового строкового литерала к "LPSTR"

Компилятор обнаружил небезопасный приведение. Приведение выполнено успешно, но следует использовать подпрограмму преобразования.

Это предупреждение отключено по умолчанию. Подробнее: Выключенные по умолчанию предупреждения компилятора .

Пример

Следующий пример приводит к возникновению ошибки C4905.

// C4905.cpp
// compile with: /W1
#pragma warning(default : 4905)
#include <windows.h>
#include <stdlib.h>
#include <stdio.h>

int main()
{
    LPSTR y = (LPSTR)L"1234";   // C4905

    // try the following lines instead
    // wchar_t y[128];
    // size_t  sizeOfConverted;
    // errcode err = 0;
    //
    // err = mbstowcs_s(&sizeOfConverted, &y[0], 128, "12345", 4);
    // if (err != 0)
    // {
    //     printf_s("mbstowcs_s failed!");
    //     exit (-1);
    // }
    // wprintf(L"%s\n", y);

    return 0;
}